Print

Print


Author: [log in to unmask]
Date: Mon Apr 13 10:40:21 2015
New Revision: 2678

Log:
Cleanup in monitoring-app module.

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/MonitoringApplicationFrame.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/PlotInfoPanel.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/SettingsPanel.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/Configuration.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/ConnectionStatusModel.java
    java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/HasConfigurationModel.java

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 10:40:21 2015
@@ -154,6 +154,11 @@
     static final String PAUSE = "pause";
 
     /**
+     * Action when plot is selected from a tab.
+     */
+    static final String PLOT_SELECTED = "PlotSelected";
+
+    /**
      * Processing stage changed.
      */
     static final String PROCESSING_STAGE_CHANGED = "processingStageChanged";
@@ -197,6 +202,11 @@
      * Set the steering resource.
      */
     static final String SET_STEERING_RESOURCE = "setSteeringResource";
+
+    /**
+     * Okay button in settings panel.
+     */
+    static final String SETTINGS_OKAY_COMMAND = "settingsOkay";
 
     /**
      * Show the settings dialog.

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplicationFrame.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplicationFrame.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/MonitoringApplicationFrame.java	Mon Apr 13 10:40:21 2015
@@ -107,11 +107,11 @@
     public MonitoringApplicationFrame(final MonitoringApplication application) {
 
         // Disable interaction until specifically enabled externally after initialization.
-        setEnabled(false);
+        this.setEnabled(false);
 
         // Create the content panel.
         final JPanel contentPanel = new JPanel();
-        setContentPane(contentPanel);
+        this.setContentPane(contentPanel);
         contentPanel.setLayout(new BorderLayout());
         contentPanel.setOpaque(true);
         contentPanel.setPreferredSize(new Dimension(PIXEL_WIDTH_MAX, PIXEL_HEIGHT_MAX));
@@ -167,7 +167,7 @@
 
         // Create the plot panel.
         this.plotPanel = new PlotPanel();
-        this.plotInfoPanel.saveButton.addActionListener(this.plotPanel);
+        this.plotInfoPanel.addActionListener(this.plotPanel);
 
         // Create the right panel vertical split pane for displaying plots and their information and statistics.
         this.rightSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, this.plotPanel, this.plotInfoPanel);
@@ -181,16 +181,16 @@
 
         // Create the menu bar.
         this.menu = new MenuBar(application.getConfigurationModel(), application.getConnectionModel(), application);
-        setJMenuBar(this.menu);
+        this.setJMenuBar(this.menu);
         this.toolbarPanel.getDataSourceComboBox().addActionListener(this.menu);
 
         // Setup the settings dialog box (invisible until activated).
         this.settingsDialog = new SettingsDialog(application.getConfigurationModel(), application);
 
         // Setup the frame now that all components have been added.
-        pack();
-        setExtendedState(Frame.MAXIMIZED_BOTH);
-        setVisible(true);
+        this.pack();
+        this.setExtendedState(Frame.MAXIMIZED_BOTH);
+        this.setVisible(true);
     }
 
     /**
@@ -287,7 +287,7 @@
      * Restore default window settings.
      */
     void restoreDefaults() {
-        setExtendedState(Frame.MAXIMIZED_BOTH);
+        this.setExtendedState(Frame.MAXIMIZED_BOTH);
         this.mainSplitPane.resetToPreferredSizes();
         this.leftSplitPane.resetToPreferredSizes();
         this.rightSplitPane.resetToPreferredSizes();

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/PlotInfoPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/PlotInfoPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/PlotInfoPanel.java	Mon Apr 13 10:40:21 2015
@@ -45,31 +45,71 @@
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
-final class PlotInfoPanel extends JPanel implements AIDAListener, ActionListener, FunctionListener {
-
-    static final String[] COLUMN_NAMES = { "Field", "Value" };
-    static final int MAX_ROWS = 13;
-    static final int MIN_HEIGHT = 300;
-    static final int MIN_WIDTH = 400;
-
-    static final String PLOT_SELECTED = "PlotSelected";
-    Object currentObject;
-
-    PlotterRegion currentRegion;
-    JTable infoTable = new JTable();
-    DefaultTableModel model;
-    JComboBox<Object> plotComboBox;
-    JButton saveButton;
-
-    Timer timer = new Timer();
+@SuppressWarnings("serial")
+final class PlotInfoPanel extends JPanel implements AIDAListener, ActionListener, FunctionListener, AddActionListener {
+
+    /**
+     * The names of the two columns.
+     */
+    private static final String[] COLUMN_NAMES = {"Field", "Value"};
+
+    /**
+     * The maximum number of rows in the table.
+     */
+    private static final int MAX_ROWS = 13;
+
+    /**
+     * Minimum height of panel in pixels.
+     */
+    private static final int MIN_HEIGHT = 300;
+
+    /**
+     * Minimum width of panel in pixels.
+     */
+    private static final int MIN_WIDTH = 400;
+
+    /**
+     * The currently selected AIDA object.
+     */
+    private Object currentObject;
+
+    /**
+     * The currently selected plotter region.
+     */
+    private PlotterRegion currentRegion;
+
+    /**
+     * The table showing plot statistics.
+     */
+    private final JTable infoTable = new JTable();
+
+    /**
+     * The default table model.
+     */
+    private DefaultTableModel model;
+
+    /**
+     * The combo box for selecting the object from the region.
+     */
+    private JComboBox<Object> plotComboBox;
+
+    /**
+     * The button for saving plot graphics..
+     */
+    private JButton saveButton;
+
+    /**
+     * The timer for updating the table.
+     */
+    private final Timer timer = new Timer();
 
     /**
      * Class constructor, which will setup the GUI components.
      */
-    @SuppressWarnings("unchecked")
+    @SuppressWarnings({"unchecked"})
     PlotInfoPanel() {
 
-        setLayout(new FlowLayout(FlowLayout.CENTER));
+        this.setLayout(new FlowLayout(FlowLayout.CENTER));
 
         final JPanel leftPanel = new JPanel();
         leftPanel.setLayout(new BoxLayout(leftPanel, BoxLayout.PAGE_AXIS));
@@ -90,11 +130,11 @@
             @Override
             public Dimension getMaximumSize() {
                 final Dimension max = super.getMaximumSize();
-                max.height = getPreferredSize().height;
+                max.height = this.getPreferredSize().height;
                 return max;
             }
         };
-        this.plotComboBox.setActionCommand(PLOT_SELECTED);
+        this.plotComboBox.setActionCommand(Commands.PLOT_SELECTED);
         this.plotComboBox.setAlignmentX(CENTER_ALIGNMENT);
         this.plotComboBox.setRenderer(new BasicComboBoxRenderer() {
             @Override
@@ -103,10 +143,10 @@
                     final boolean isSelected, final boolean cellHasFocus) {
                 super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
                 if (value != null) {
-                    final String title = getObjectTitle(value);
-                    setText(value.getClass().getSimpleName() + " - " + title);
+                    final String title = PlotInfoPanel.this.getObjectTitle(value);
+                    this.setText(value.getClass().getSimpleName() + " - " + title);
                 } else {
-                    setText("Click on a plot region ...");
+                    this.setText("Click on a plot region ...");
                 }
                 return this;
             }
@@ -117,7 +157,7 @@
         leftPanel.add(new Box.Filler(filler, filler, filler));
 
         // Table with plot info.
-        final String data[][] = new String[0][0];
+        final String[][] data = new String[0][0];
         this.model = new DefaultTableModel(data, COLUMN_NAMES);
         this.model.setColumnIdentifiers(COLUMN_NAMES);
         this.infoTable.setModel(this.model);
@@ -125,27 +165,39 @@
         this.infoTable.setAlignmentX(CENTER_ALIGNMENT);
         leftPanel.add(this.infoTable);
 
-        add(leftPanel);
+        this.add(leftPanel);
     }
 
     /**
      * Implementation of <code>actionPerformed</code> to handle the selection of a new object from the combo box.
+     *
+     * @param e the {@link java.awt.event.ActionEvent} to handle
      */
     @Override
     public void actionPerformed(final ActionEvent e) {
         // Is there a new item selected in the combo box?
-        if (PLOT_SELECTED.equals(e.getActionCommand())) {
+        if (Commands.PLOT_SELECTED.equals(e.getActionCommand())) {
             if (this.plotComboBox.getSelectedItem() != null) {
                 // Set the current object from the combo box value, to update the GUI state.
-                setCurrentObject(this.plotComboBox.getSelectedItem());
-            }
-        }
+                this.setCurrentObject(this.plotComboBox.getSelectedItem());
+            }
+        }
+    }
+
+    /**
+     * Assign an action listener to certain components.
+     *
+     * @param listener the action listener to add
+     */
+    @Override
+    public void addActionListener(final ActionListener listener) {
+        this.saveButton.addActionListener(listener);
     }
 
     /**
      * Add this object as an <code>AIDAListener</code> on the current <code>AIDAObservable</code>.
      */
-    void addListener() {
+    private void addListener() {
         if (this.currentObject instanceof AIDAObservable && !(this.currentObject instanceof FunctionDispatcher)) {
             // Setup a listener on the current AIDA object.
             final AIDAObservable observable = (AIDAObservable) this.currentObject;
@@ -162,94 +214,94 @@
     /**
      * Add a row to the info table.
      *
-     * @param field The field name.
-     * @param value The field value.
-     */
-    void addRow(final String field, final Object value) {
-        this.model.insertRow(this.infoTable.getRowCount(), new Object[] { field, value });
+     * @param field the field name
+     * @param value the field value
+     */
+    private void addRow(final String field, final Object value) {
+        this.model.insertRow(this.infoTable.getRowCount(), new Object[] {field, value});
     }
 
     /**
      * Add rows to the info table from the state of a 2D cloud.
      *
-     * @param cloud The AIDA object.
-     */
-    void addRows(final ICloud2D cloud) {
-        addRow("title", cloud.title());
-        addRow("entries", cloud.entries());
-        addRow("max entries", cloud.maxEntries());
-        addRow("x lower edge", cloud.lowerEdgeX());
-        addRow("x upper edge", cloud.upperEdgeX());
-        addRow("y lower edge", cloud.lowerEdgeY());
-        addRow("y upper edge", cloud.upperEdgeY());
-        addRow("x mean", String.format("%.10f%n", cloud.meanX()));
-        addRow("y mean", String.format("%.10f%n", cloud.meanY()));
-        addRow("x rms", String.format("%.10f%n", cloud.rmsX()));
-        addRow("y rms", String.format("%.10f%n", cloud.rmsY()));
-    }
-
-    /**
-     * Add rows to the info table from the state of a 2D cloud.
-     *
-     * @param cloud The AIDA object.
-     */
-    void addRows(final IFunction function) {
-        addRow("title", function.title());
+     * @param cloud the AIDA object
+     */
+    private void addRows(final ICloud2D cloud) {
+        this.addRow("title", cloud.title());
+        this.addRow("entries", cloud.entries());
+        this.addRow("max entries", cloud.maxEntries());
+        this.addRow("x lower edge", cloud.lowerEdgeX());
+        this.addRow("x upper edge", cloud.upperEdgeX());
+        this.addRow("y lower edge", cloud.lowerEdgeY());
+        this.addRow("y upper edge", cloud.upperEdgeY());
+        this.addRow("x mean", String.format("%.10f%n", cloud.meanX()));
+        this.addRow("y mean", String.format("%.10f%n", cloud.meanY()));
+        this.addRow("x rms", String.format("%.10f%n", cloud.rmsX()));
+        this.addRow("y rms", String.format("%.10f%n", cloud.rmsY()));
+    }
+
+    /**
+     * Add rows to the info table from the state of a function.
+     *
+     * @param function the AIDA function object
+     */
+    private void addRows(final IFunction function) {
+        this.addRow("title", function.title());
 
         // Add generically the values of all function parameters.
         for (final String parameter : function.parameterNames()) {
-            addRow(parameter, function.parameter(parameter));
+            this.addRow(parameter, function.parameter(parameter));
         }
     }
 
     /**
      * Add rows to the info table from the state of a 1D histogram.
      *
-     * @param histogram The AIDA object.
-     */
-    void addRows(final IHistogram1D histogram) {
-        addRow("title", histogram.title());
-        addRow("bins", histogram.axis().bins());
-        addRow("entries", histogram.entries());
-        addRow("mean", String.format("%.10f%n", histogram.mean()));
-        addRow("rms", String.format("%.10f%n", histogram.rms()));
-        addRow("sum bin heights", histogram.sumBinHeights());
-        addRow("max bin height", histogram.maxBinHeight());
-        addRow("overflow entries", histogram.binEntries(IAxis.OVERFLOW_BIN));
-        addRow("underflow entries", histogram.binEntries(IAxis.UNDERFLOW_BIN));
+     * @param histogram the AIDA object
+     */
+    private void addRows(final IHistogram1D histogram) {
+        this.addRow("title", histogram.title());
+        this.addRow("bins", histogram.axis().bins());
+        this.addRow("entries", histogram.entries());
+        this.addRow("mean", String.format("%.10f%n", histogram.mean()));
+        this.addRow("rms", String.format("%.10f%n", histogram.rms()));
+        this.addRow("sum bin heights", histogram.sumBinHeights());
+        this.addRow("max bin height", histogram.maxBinHeight());
+        this.addRow("overflow entries", histogram.binEntries(IAxis.OVERFLOW_BIN));
+        this.addRow("underflow entries", histogram.binEntries(IAxis.UNDERFLOW_BIN));
     }
 
     /**
      * Add rows to the info table from the state of a 2D histogram.
      *
-     * @param histogram The AIDA object.
-     */
-    void addRows(final IHistogram2D histogram) {
-        addRow("title", histogram.title());
-        addRow("x bins", histogram.xAxis().bins());
-        addRow("y bins", histogram.yAxis().bins());
-        addRow("entries", histogram.entries());
-        addRow("x mean", String.format("%.10f%n", histogram.meanX()));
-        addRow("y mean", String.format("%.10f%n", histogram.meanY()));
-        addRow("x rms", String.format("%.10f%n", histogram.rmsX()));
-        addRow("y rms", String.format("%.10f%n", histogram.rmsY()));
-        addRow("sum bin heights", histogram.sumBinHeights());
-        addRow("max bin height", histogram.maxBinHeight());
-        addRow("x overflow entries", histogram.binEntriesX(IAxis.OVERFLOW_BIN));
-        addRow("y overflow entries", histogram.binEntriesY(IAxis.OVERFLOW_BIN));
-        addRow("x underflow entries", histogram.binEntriesX(IAxis.UNDERFLOW_BIN));
-        addRow("y underflow entries", histogram.binEntriesY(IAxis.UNDERFLOW_BIN));
+     * @param histogram the AIDA object
+     */
+    private void addRows(final IHistogram2D histogram) {
+        this.addRow("title", histogram.title());
+        this.addRow("x bins", histogram.xAxis().bins());
+        this.addRow("y bins", histogram.yAxis().bins());
+        this.addRow("entries", histogram.entries());
+        this.addRow("x mean", String.format("%.10f%n", histogram.meanX()));
+        this.addRow("y mean", String.format("%.10f%n", histogram.meanY()));
+        this.addRow("x rms", String.format("%.10f%n", histogram.rmsX()));
+        this.addRow("y rms", String.format("%.10f%n", histogram.rmsY()));
+        this.addRow("sum bin heights", histogram.sumBinHeights());
+        this.addRow("max bin height", histogram.maxBinHeight());
+        this.addRow("x overflow entries", histogram.binEntriesX(IAxis.OVERFLOW_BIN));
+        this.addRow("y overflow entries", histogram.binEntriesY(IAxis.OVERFLOW_BIN));
+        this.addRow("x underflow entries", histogram.binEntriesX(IAxis.UNDERFLOW_BIN));
+        this.addRow("y underflow entries", histogram.binEntriesY(IAxis.UNDERFLOW_BIN));
     }
 
     /**
      * Callback for updating from changed to <code>IFunction</code> object.
      *
-     * @param event The change event (unused in this method).
+     * @param event the change event (unused in this method)
      */
     @Override
     public void functionChanged(final FunctionChangedEvent event) {
         try {
-            runUpdateTable();
+            this.runUpdateTable();
         } catch (final Exception e) {
             e.printStackTrace();
         }
@@ -259,10 +311,11 @@
      * Get the title of an AIDA object. Unfortunately there is no base type with this information, so it is read
      * manually from each possible type.
      *
-     * @param object The AIDA object.
-     * @return The title of the object from its title method or value of its toString method, if none exists.
-     */
-    String getObjectTitle(final Object object) {
+     * @param object the AIDA object
+     * @return the title of the object from its title method or value of its <code>toString</code> method, if none
+     *         exists
+     */
+    private String getObjectTitle(final Object object) {
         if (object instanceof IBaseHistogram) {
             return ((IBaseHistogram) object).title();
         } else if (object instanceof IDataPointSet) {
@@ -274,7 +327,13 @@
         }
     }
 
-    boolean isValidObject(final Object object) {
+    /**
+     * Return <code>true</code> if the object is a valid AIDA object.
+     *
+     * @param object the object
+     * @return <code>true</code> if object is a valid AIDA object
+     */
+    private boolean isValidObject(final Object object) {
         if (object == null) {
             return false;
         }
@@ -287,7 +346,7 @@
     /**
      * Remove this as a listener on the current AIDA object.
      */
-    void removeListener() {
+    private void removeListener() {
         if (this.currentObject != null) {
             if (this.currentObject instanceof AIDAObservable && !(this.currentObject instanceof IFunction)) {
                 // Remove this object as an listener on the AIDA observable.
@@ -302,21 +361,21 @@
     /**
      * Run the {@link #updateTable()} method on the Swing EDT.
      */
-    void runUpdateTable() {
+    private void runUpdateTable() {
         SwingUtilities.invokeLater(new Runnable() {
             @Override
             public void run() {
-                updateTable();
+                PlotInfoPanel.this.updateTable();
             }
         });
     }
 
     /**
-     * Set the current AIDA object that backs this GUI, i.e. an IHistogram1D etc.
-     *
-     * @param object The backing AIDA object.
-     */
-    synchronized void setCurrentObject(final Object object) {
+     * Set the current AIDA object that backs this GUI, i.e. an IHistogram1D or other plot object etc.
+     *
+     * @param object the backing AIDA object
+     */
+    private synchronized void setCurrentObject(final Object object) {
 
         if (object == null) {
             throw new IllegalArgumentException("The object arg is null!");
@@ -327,7 +386,7 @@
         }
 
         // Remove the AIDAListener from the previous object.
-        removeListener();
+        this.removeListener();
 
         // Set the current object reference.
         this.currentObject = object;
@@ -335,10 +394,10 @@
         // Update the table immediately with information from the current object.
         // We need to wait for this the first time, so we know the preferred size
         // of the table GUI component when resizing the content pane.
-        updateTable();
+        this.updateTable();
 
         // Add an AIDAListener to the AIDA object via the AIDAObservable API.
-        addListener();
+        this.addListener();
     }
 
     /**
@@ -349,26 +408,26 @@
     synchronized void setCurrentRegion(final PlotterRegion region) {
         if (region != this.currentRegion) {
             this.currentRegion = region;
-            updateComboBox();
-            setCurrentObject(this.plotComboBox.getSelectedItem());
-            setupContentPane();
+            this.updateComboBox();
+            this.setCurrentObject(this.plotComboBox.getSelectedItem());
+            this.setupContentPane();
         }
     }
 
     /**
      * Configure the frame's content panel from current component settings.
      */
-    void setupContentPane() {
+    private void setupContentPane() {
         this.plotComboBox.setSize(this.plotComboBox.getPreferredSize());
         this.infoTable.setSize(this.infoTable.getPreferredSize());
-        setVisible(true);
+        this.setVisible(true);
     }
 
     /**
      * This method will be called when the backing AIDA object is updated and a state change is fired via the
      * <code>AIDAObservable</code> API. The table is updated to reflect the new state of the object.
      *
-     * @param evt The EventObject pointing to the backing AIDA object.
+     * @param evt the EventObject pointing to the backing AIDA object
      */
     @Override
     public void stateChanged(final EventObject evt) {
@@ -385,7 +444,7 @@
                 }
 
                 // Update the table values on the Swing EDT.
-                runUpdateTable();
+                PlotInfoPanel.this.runUpdateTable();
 
                 // Set the observable to valid so subsequent state changes are received.
                 ((AIDAObservable) PlotInfoPanel.this.currentObject).setValid(PlotInfoPanel.this);
@@ -402,11 +461,11 @@
     /**
      * Update the combo box contents with the plots from the current region.
      */
-    void updateComboBox() {
+    private void updateComboBox() {
         this.plotComboBox.removeAllItems();
         final List<Object> objects = this.currentRegion.getPlottedObjects();
         for (final Object object : objects) {
-            if (isValidObject(object)) {
+            if (this.isValidObject(object)) {
                 this.plotComboBox.addItem(object);
             }
         }
@@ -415,20 +474,20 @@
     /**
      * Update the info table from the state of the current AIDA object.
      */
-    void updateTable() {
+    private void updateTable() {
         this.model.setRowCount(0);
         if (this.currentObject instanceof IHistogram1D) {
-            addRows((IHistogram1D) this.currentObject);
+            this.addRows((IHistogram1D) this.currentObject);
         } else if (this.currentObject instanceof IHistogram2D) {
-            addRows((IHistogram2D) this.currentObject);
+            this.addRows((IHistogram2D) this.currentObject);
         } else if (this.currentObject instanceof ICloud2D) {
-            addRows((ICloud2D) this.currentObject);
+            this.addRows((ICloud2D) this.currentObject);
         } else if (this.currentObject instanceof ICloud1D) {
             if (((ICloud1D) this.currentObject).isConverted()) {
-                addRows(((ICloud1D) this.currentObject).histogram());
+                this.addRows(((ICloud1D) this.currentObject).histogram());
             }
         } else if (this.currentObject instanceof IFunction) {
-            addRows((IFunction) this.currentObject);
-        }
-    }
-}
+            this.addRows((IFunction) this.currentObject);
+        }
+    }
+}

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 10:40:21 2015
@@ -25,34 +25,56 @@
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
+@SuppressWarnings("serial")
 final class PlotPanel extends JPanel implements ActionListener {
 
+    /**
+     * The tabs containing the plots.
+     */
     private final JTabbedPane plotPane;
 
+    /**
+     * Class constructor.
+     */
     public PlotPanel() {
-        setLayout(new BorderLayout());
+        this.setLayout(new BorderLayout());
         this.plotPane = new JTabbedPane();
-        this.plotPane.setPreferredSize(getPreferredSize());
-        add(this.plotPane, BorderLayout.CENTER);
+        this.plotPane.setPreferredSize(this.getPreferredSize());
+        this.add(this.plotPane, BorderLayout.CENTER);
     }
 
+    /**
+     * Handle an {@link java.awt.event.ActionEvent}.
+     *
+     * @param event the {@link java.awt.event.ActionEvent} to handle
+     */
     @Override
     public void actionPerformed(final ActionEvent event) {
         if (event.getActionCommand().equals(Commands.SAVE_SELECTED_PLOTS)) {
-            final int[] indices = getSelectedTabIndices();
+            final int[] indices = this.getSelectedTabIndices();
             final IPlotter plotter = MonitoringPlotFactory.getPlotterRegistry().find(indices[0], indices[1]);
             if (plotter != null) {
-                savePlotter(plotter);
+                this.savePlotter(plotter);
             } else {
                 DialogUtil.showErrorDialog(this, "Error Finding Plots", "No plots found in selected tab.");
             }
         }
     }
 
+    /**
+     * Get the tabbed pane with the plots.
+     *
+     * @return the tabbed pane with the plots
+     */
     JTabbedPane getPlotPane() {
         return this.plotPane;
     }
 
+    /**
+     * Get the currently selected plot tab.
+     *
+     * @return the currently selected plot tab
+     */
     Component getSelectedTab() {
         return ((JTabbedPane) this.plotPane.getSelectedComponent()).getSelectedComponent();
     }
@@ -62,7 +84,7 @@
      *
      * @return The indices of the current tabs.
      */
-    int[] getSelectedTabIndices() {
+    private int[] getSelectedTabIndices() {
         final int[] indices = new int[2];
         indices[0] = this.plotPane.getSelectedIndex();
         final Component component = this.plotPane.getSelectedComponent();
@@ -72,11 +94,19 @@
         return indices;
     }
 
+    /**
+     * Remove all tabs from the plot pane.
+     */
     void reset() {
         this.plotPane.removeAll();
     }
 
-    void savePlotter(final IPlotter plotter) {
+    /**
+     * Save the plotter from a tab to a graphics file.
+     * 
+     * @param plotter the plotter to save
+     */
+    private void savePlotter(final IPlotter plotter) {
         final JFileChooser fc = new JFileChooser();
         fc.setAcceptAllFileFilterUsed(false);
         fc.setDialogTitle("Save Plots - " + plotter.title());
@@ -92,7 +122,7 @@
             if (!path.endsWith("." + filter.getExtensions()[0])) {
                 path += "." + filter.getExtensions()[0];
             }
-            final BufferedImage image = ExportPdf.getImage(getSelectedTab());
+            final BufferedImage image = ExportPdf.getImage(this.getSelectedTab());
             try {
                 ImageIO.write(image, filter.getExtensions()[0], new File(path));
                 DialogUtil.showInfoDialog(this, "Plots Saved", "Plots from panel were saved to" + '\n' + path);
@@ -102,4 +132,4 @@
             }
         }
     }
-}
+}

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 10:40:21 2015
@@ -13,28 +13,38 @@
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
+@SuppressWarnings("serial")
 final class SettingsDialog extends JDialog {
 
-    final SettingsPanel settingsPanel;
+    /**
+     * The panel with the settings.
+     */
+    private final SettingsPanel settingsPanel;
 
+    /**
+     * Class constructor.
+     *
+     * @param configurationModel the configuration model with global settings
+     * @param listener the action listener assigned to certain components
+     */
     public SettingsDialog(final ConfigurationModel configurationModel, final ActionListener listener) {
 
         // Initialize the GUI panel.
         this.settingsPanel = new SettingsPanel(this, configurationModel, listener);
 
         // Configure the frame.
-        setTitle("Settings");
-        setContentPane(this.settingsPanel);
-        setResizable(false);
-        setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
-        setModalityType(ModalityType.APPLICATION_MODAL);
-        pack();
+        this.setTitle("Settings");
+        this.setContentPane(this.settingsPanel);
+        this.setResizable(false);
+        this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
+        this.setModalityType(ModalityType.APPLICATION_MODAL);
+        this.pack();
 
         // Add window listener for turning invisible when closing.
-        addWindowListener(new WindowAdapter() {
+        this.addWindowListener(new WindowAdapter() {
             @Override
             public void windowClosing(final WindowEvent e) {
-                setVisible(false);
+                SettingsDialog.this.setVisible(false);
             }
 
             @Override

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SettingsPanel.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SettingsPanel.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/SettingsPanel.java	Mon Apr 13 10:40:21 2015
@@ -19,15 +19,36 @@
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
+@SuppressWarnings("serial")
 final class SettingsPanel extends JPanel implements ActionListener {
 
-    static final String OKAY_COMMAND = "settingsOkay";
-    ConnectionSettingsPanel connectionPanel;
-    JobSettingsPanel jobPanel;
-    JDialog parent;
+    /**
+     * The panel with connection settings.
+     */
+    private final ConnectionSettingsPanel connectionPanel;
 
-    JTabbedPane tabs;
+    /**
+     * The panel with general job settings.
+     */
+    private final JobSettingsPanel jobPanel;
 
+    /**
+     * The parent dialog window.
+     */
+    private final JDialog parent;
+
+    /**
+     * The tabs with the sub-panels.
+     */
+    private final JTabbedPane tabs;
+
+    /**
+     * Class constructor.
+     *
+     * @param parent the parent dialog window
+     * @param configurationModel the global configuration model
+     * @param listener the action listener assigned to certain components
+     */
     SettingsPanel(final JDialog parent, final ConfigurationModel configurationModel, final ActionListener listener) {
 
         this.parent = parent;
@@ -48,23 +69,28 @@
         this.tabs = new JTabbedPane();
         this.tabs.addTab("Connection Settings", this.connectionPanel);
         this.tabs.addTab("Job Settings", this.jobPanel);
-        add(this.tabs);
+        this.add(this.tabs);
 
         final JButton okayButton = new JButton("Okay");
-        okayButton.setActionCommand(OKAY_COMMAND);
+        okayButton.setActionCommand(Commands.SETTINGS_OKAY_COMMAND);
         okayButton.addActionListener(this);
 
-        add(Box.createRigidArea(new Dimension(1, 5)));
+        this.add(Box.createRigidArea(new Dimension(1, 5)));
         final JPanel buttonsPanel = new JPanel();
         buttonsPanel.add(okayButton);
         buttonsPanel.setLayout(new FlowLayout());
-        add(buttonsPanel);
-        add(Box.createRigidArea(new Dimension(1, 5)));
+        this.add(buttonsPanel);
+        this.add(Box.createRigidArea(new Dimension(1, 5)));
     }
 
+    /**
+     * Handle action events.
+     *
+     * @param e the action event to handle
+     */
     @Override
     public void actionPerformed(final ActionEvent e) {
-        if (e.getActionCommand().equals(OKAY_COMMAND)) {
+        if (e.getActionCommand().equals(Commands.SETTINGS_OKAY_COMMAND)) {
             this.parent.setVisible(false);
         }
     }

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 10:40:21 2015
@@ -25,47 +25,88 @@
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
+@SuppressWarnings("serial")
 final class SystemStatusEventsTable extends JTable {
 
+    /**
+     * The model for the system status events table.
+     */
     static class SystemStatusEventsTableModel extends DefaultTableModel implements SystemStatusListener {
 
-        Class<?>[] columnClasses = { Date.class, Subsystem.class, SystemStatus.class, String.class, String.class };
-
-        String[] columnNames = { "Date", "Subsystem", "Status Code", "Description", "Message" };
-        List<SystemStatus> statuses = new ArrayList<SystemStatus>();
-
+        /**
+         * The classes of the table columns.
+         */
+        private final Class<?>[] columnClasses = {Date.class, Subsystem.class, SystemStatus.class, String.class,
+                String.class};
+
+        /**
+         * The names of the columns.
+         */
+        private final String[] columnNames = {"Date", "Subsystem", "Status Code", "Description", "Message"};
+
+        /**
+         * The list of statuses shown in the table.
+         */
+        private final List<SystemStatus> statuses = new ArrayList<SystemStatus>();
+
+        /**
+         * Class constructor.
+         */
         SystemStatusEventsTableModel() {
         }
 
         /**
          * Register the listener on this status.
          *
-         * @param status The system status.
+         * @param status the system status
          */
         void addSystemStatus(final SystemStatus status) {
             status.addListener(this);
         }
 
-        public void clear() {
+        /**
+         * Clear all the records from the table.
+         */
+        void clear() {
             this.statuses.clear();
             this.setRowCount(0);
         }
 
-        @Override
-        public Class<?> getColumnClass(final int column) {
-            return this.columnClasses[column];
-        }
-
+        /**
+         * Get the column class.
+         *
+         * @param columnIndex the column index
+         */
+        @Override
+        public Class<?> getColumnClass(final int columnIndex) {
+            return this.columnClasses[columnIndex];
+        }
+
+        /**
+         * Get the column count.
+         *
+         * @return the column count
+         */
         @Override
         public int getColumnCount() {
             return this.columnNames.length;
         }
 
-        @Override
-        public String getColumnName(final int column) {
-            return this.columnNames[column];
-        }
-
+        /**
+         * Get the column name.
+         *
+         * @param columnIndex the column index
+         */
+        @Override
+        public String getColumnName(final int columnIndex) {
+            return this.columnNames[columnIndex];
+        }
+
+        /**
+         * Get the row count.
+         *
+         * @return the row count
+         */
         @Override
         public int getRowCount() {
             if (this.statuses != null) {
@@ -75,45 +116,58 @@
             }
         }
 
-        @Override
-        public Object getValueAt(final int row, final int column) {
-            final SystemStatus status = this.statuses.get(row);
-            switch (column) {
-            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;
+        /**
+         * Get a cell value from the table.
+         *
+         * @param rowIndex the row index
+         * @param columnIndex the column index
+         * @return the cell value at the rowIndex and columnIndex
+         */
+        @Override
+        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;
             }
         }
 
         /**
          * Update the table with status changes.
          *
-         * @param status The system status.
+         * @param status the system status
          */
         @Override
         public void statusChanged(final SystemStatus status) {
             final SystemStatus newStatus = new SystemStatusImpl(status);
             this.statuses.add(newStatus);
-            fireTableDataChanged();
+            this.fireTableDataChanged();
         }
     }
 
-    SystemStatusEventsTableModel tableModel = new SystemStatusEventsTableModel();
-
+    /**
+     * The table model.
+     */
+    private final SystemStatusEventsTableModel tableModel = new SystemStatusEventsTableModel();
+
+    /**
+     * Class constructor.
+     */
     SystemStatusEventsTable() {
-        setModel(this.tableModel);
+        this.setModel(this.tableModel);
 
         // Date formatting.
-        getColumnModel().getColumn(0).setCellRenderer(new DefaultTableCellRenderer() {
+        this.getColumnModel().getColumn(0).setCellRenderer(new DefaultTableCellRenderer() {
 
             final SimpleDateFormat dateFormat = new SimpleDateFormat("MMMM-dd-yyyy HH:mm:ss.SSS");
 
@@ -128,7 +182,7 @@
         });
 
         // Rendering of system status cells using different background colors.
-        getColumnModel().getColumn(2).setCellRenderer(new DefaultTableCellRenderer() {
+        this.getColumnModel().getColumn(2).setCellRenderer(new DefaultTableCellRenderer() {
 
             @Override
             public Component getTableCellRendererComponent(final JTable table, final Object value,
@@ -146,6 +200,12 @@
         });
     }
 
-    void registerListener() {
+    /**
+     * Get the system status events table model.
+     *
+     * @return the system status events table model
+     */
+    SystemStatusEventsTableModel getSystemStatusEventsTableModel() {
+        return this.tableModel;
     }
 }

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 10:40:21 2015
@@ -20,23 +20,41 @@
  */
 final class SystemStatusPanel extends JPanel {
 
-    SystemStatusEventsTable eventsTable = new SystemStatusEventsTable();
-    SystemStatusTable statusTable = new SystemStatusTable();
+    /**
+     * The system status events table.
+     */
+    private final SystemStatusEventsTable eventsTable = new SystemStatusEventsTable();
 
+    /**
+     * The system status table.
+     */
+    private final SystemStatusTable statusTable = new SystemStatusTable();
+
+    /**
+     * Class constructor.
+     */
     SystemStatusPanel() {
         super(new BorderLayout());
         final JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, new JScrollPane(this.statusTable),
                 new JScrollPane(this.eventsTable));
         splitPane.setDividerLocation(50);
-        add(splitPane, BorderLayout.CENTER);
+        this.add(splitPane, BorderLayout.CENTER);
     }
 
+    /**
+     * Add a system status.
+     *
+     * @param status the system status to add
+     */
     void addSystemStatus(final SystemStatus status) {
         // Register listeners of table models on this status.
         this.statusTable.getTableModel().addSystemStatus(status);
-        this.eventsTable.tableModel.addSystemStatus(status);
+        this.eventsTable.getSystemStatusEventsTableModel().addSystemStatus(status);
     }
 
+    /**
+     * Clear all the table records.
+     */
     void clear() {
         // Clear the system status monitor table.
         this.statusTable.getTableModel().clear();

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 10:40:21 2015
@@ -20,6 +20,7 @@
  *
  * @author <a href="mailto:[log in to unmask]">Jeremy McCormick</a>
  */
+@SuppressWarnings("serial")
 final class SystemStatusTable extends JTable {
 
     /**
@@ -27,14 +28,30 @@
      */
     private class ButtonRenderer extends JButton implements TableCellRenderer {
 
+        /**
+         * Class constructor.
+         *
+         * @param label the label of the button
+         */
         public ButtonRenderer(final String label) {
             this.setText(label);
         }
 
+        /**
+         * Get the renderer for the table cell.
+         *
+         * @param table the table
+         * @param value the object from the table cell
+         * @param isSelected <code>true</code> if cell is selected
+         * @param hasFocus <code>true</code> if cell has focus
+         * @param rowIndex the row index
+         * @param columnIndex the column index
+         */
         @Override
         public Component getTableCellRendererComponent(final JTable table, final Object value,
-                final boolean isSelected, final boolean hasFocus, final int row, final int column) {
-            final boolean clearable = (Boolean) table.getModel().getValueAt(row, SystemStatusTableModel.CLEARABLE_COL);
+                final boolean isSelected, final boolean hasFocus, final int rowIndex, final int columnIndex) {
+            final boolean clearable = (Boolean) table.getModel().getValueAt(rowIndex,
+                    SystemStatusTableModel.CLEARABLE_COL);
             if (clearable) {
                 return this;
             } else {
@@ -48,12 +65,26 @@
      * button. The <code>ActionListener</code> then sets the <code>StatusCode</code> to <code>CLEARED</code>.
      */
     private static class JTableButtonMouseListener extends MouseAdapter {
+
+        /**
+         * The table.
+         */
         private final JTable table;
 
+        /**
+         * Class constructor.
+         *
+         * @param table the table for the listener
+         */
         public JTableButtonMouseListener(final JTable table) {
             this.table = table;
         }
 
+        /**
+         * Implement mouse clicked action.
+         *
+         * @param e the mouse event
+         */
         @Override
         public void mouseClicked(final MouseEvent e) {
             final int column = this.table.getColumnModel().getColumnIndexAtX(e.getX());
@@ -67,20 +98,24 @@
         }
     }
 
+    /**
+     * Class constructor.
+     */
     SystemStatusTable() {
 
-        setModel(new SystemStatusTableModel());
+        this.setModel(new SystemStatusTableModel());
 
         // Rendering of system status cells using different background colors.
-        getColumnModel().getColumn(SystemStatusTableModel.STATUS_COL).setCellRenderer(new DefaultTableCellRenderer() {
+        this.getColumnModel().getColumn(SystemStatusTableModel.STATUS_COL)
+        .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) {
 
                 // Cells are by default rendered as a JLabel.
-                final JLabel label = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus,
-                        row, col);
+                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);
@@ -90,38 +125,43 @@
         });
 
         // Date formatting for last changed.
-        getColumnModel().getColumn(SystemStatusTableModel.LAST_CHANGED_COL).setCellRenderer(
-                new DefaultTableCellRenderer() {
+        this.getColumnModel().getColumn(SystemStatusTableModel.LAST_CHANGED_COL)
+        .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.
-        getColumnModel().getColumn(SystemStatusTableModel.RESET_COL).setCellRenderer(new ButtonRenderer("Clear"));
-        addMouseListener(new JTableButtonMouseListener(this));
-        getColumn("Clearable").setWidth(0);
-        getColumn("Clearable").setMinWidth(0);
-        getColumn("Clearable").setMaxWidth(0);
+        this.getColumnModel().getColumn(SystemStatusTableModel.RESET_COL).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.
-        getColumnModel().getColumn(SystemStatusTableModel.ACTIVE_COL).setPreferredWidth(8);
-        getColumnModel().getColumn(SystemStatusTableModel.STATUS_COL).setPreferredWidth(10);
-        getColumnModel().getColumn(SystemStatusTableModel.SYSTEM_COL).setPreferredWidth(10);
+        this.getColumnModel().getColumn(SystemStatusTableModel.ACTIVE_COL).setPreferredWidth(8);
+        this.getColumnModel().getColumn(SystemStatusTableModel.STATUS_COL).setPreferredWidth(10);
+        this.getColumnModel().getColumn(SystemStatusTableModel.SYSTEM_COL).setPreferredWidth(10);
         // TODO: Add default width setting for every column.
 
-        setAutoCreateRowSorter(true);
+        this.setAutoCreateRowSorter(true);
     }
 
+    /**
+     * Get the tqble model.
+     * 
+     * @return the table model
+     */
     public SystemStatusTableModel getTableModel() {
-        return (SystemStatusTableModel) getModel();
+        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 10:40:21 2015
@@ -18,13 +18,27 @@
  */
 final class ToolbarPanel extends JPanel {
 
+    /**
+     * The panel with the buttons.
+     */
     private final JPanel buttonsPanel;
+
+    /**
+     * The combo box with the list of data sources.
+     */
     private final DataSourceComboBox dataSourceComboBox;
 
+    /**
+     * Class constructor.
+     *
+     * @param configurationModel the configuration model for the application
+     * @param connectionModel the connection status model
+     * @param listener the action listener to assign to certain components
+     */
     ToolbarPanel(final ConfigurationModel configurationModel, final ConnectionStatusModel connectionModel,
             final ActionListener listener) {
 
-        setLayout(new FlowLayout(FlowLayout.LEFT));
+        this.setLayout(new FlowLayout(FlowLayout.LEFT));
 
         final JPanel containerPanel = new JPanel();
         containerPanel.setLayout(new GridBagLayout());
@@ -60,11 +74,15 @@
         gbs.fill = GridBagConstraints.HORIZONTAL;
         containerPanel.add(this.dataSourceComboBox, gbs);
 
-        add(containerPanel);
+        this.add(containerPanel);
     }
 
+    /**
+     * Get the combo box with the data sources
+     * 
+     * @return the combo box with the data sources
+     */
     DataSourceComboBox getDataSourceComboBox() {
         return this.dataSourceComboBox;
     }
-
 }

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 10:40:21 2015
@@ -29,7 +29,9 @@
      */
     class TriggerDiagnosticGUIDriver extends Driver {
 
-        // FIXME: Hard-coded collection name.
+        /**
+         * Default name of trigger diagnostics collection.
+         */
         private String diagnosticCollectionName = "DiagnosticSnapshot";
 
         @Override
@@ -48,22 +50,51 @@
             }
         }
 
+        /**
+         * Set the name of the trigger diagnostics collection.
+         *
+         * @param name the name of the trigger diagnostics collection
+         */
         void setDiagnosticCollectionName(final String name) {
             this.diagnosticCollectionName = name;
         }
     }
 
-    ClusterTablePanel clusterPanel = new ClusterTablePanel();
-    EfficiencyTablePanel efficiencyPanel = new EfficiencyTablePanel();
-    PairTablePanel pairsPanel = new PairTablePanel();
-    SinglesTablePanel singlesPanel = new SinglesTablePanel();
+    /**
+     * The panel with cluster statistics.
+     */
+    private final ClusterTablePanel clusterPanel = new ClusterTablePanel();
 
-    JTabbedPane tabs = new JTabbedPane();
+    /**
+     * The panel with efficiency statistics.
+     */
+    private final EfficiencyTablePanel efficiencyPanel = new EfficiencyTablePanel();
 
-    List<DiagnosticUpdatable> updateList = new ArrayList<DiagnosticUpdatable>();
+    /**
+     * The panel with pairs statistics.
+     */
+    private final PairTablePanel pairsPanel = new PairTablePanel();
 
+    /**
+     * The panel for singles statistics.
+     */
+    private final SinglesTablePanel singlesPanel = new SinglesTablePanel();
+
+    /**
+     * The tabs containing the statistics panels.
+     */
+    private final JTabbedPane tabs = new JTabbedPane();
+
+    /**
+     * The list of objects that can be updated with trigger diagnostics.
+     */
+    private final List<DiagnosticUpdatable> updateList = new ArrayList<DiagnosticUpdatable>();
+
+    /**
+     * Class constructor.
+     */
     TriggerDiagnosticsPanel() {
-        setLayout(new BorderLayout());
+        this.setLayout(new BorderLayout());
 
         this.tabs.addTab("Clusters", this.clusterPanel);
         this.tabs.addTab("Singles", this.singlesPanel);
@@ -75,6 +106,6 @@
         this.updateList.add(this.pairsPanel);
         this.updateList.add(this.efficiencyPanel);
 
-        add(this.tabs, BorderLayout.CENTER);
+        this.add(this.tabs, BorderLayout.CENTER);
     }
 }

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 10:40:21 2015
@@ -24,8 +24,8 @@
      * 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".
      *
-     * @param type The class with the properties.
-     * @return The list of property names.
+     * @param type the class with the properties
+     * @return the list of property names
      */
     protected static String[] getPropertyNames(final Class<? extends AbstractModel> type) {
         final List<String> fields = new ArrayList<String>();
@@ -42,24 +42,43 @@
         return fields.toArray(new String[] {});
     }
 
-    protected PropertyChangeSupport propertyChangeSupport;
+    /**
+     * The property change support object.
+     */
+    private final PropertyChangeSupport propertyChangeSupport;
 
+    /**
+     * Class constructor.
+     */
     public AbstractModel() {
         this.propertyChangeSupport = new PropertyChangeSupport(this);
     }
 
+    /**
+     * Add a property change listener.
+     *
+     * @param listener the property change listener
+     */
     public void addPropertyChangeListener(final PropertyChangeListener listener) {
         this.propertyChangeSupport.addPropertyChangeListener(listener);
     }
 
+    /**
+     * Fire property change events.
+     */
     public void fireModelChanged() {
-        firePropertiesChanged(Arrays.asList(getPropertyNames()));
+        this.firePropertiesChanged(Arrays.asList(this.getPropertyNames()));
     }
 
+    /**
+     * Fire property change for a list of named properties.
+     *
+     * @param properties the list of property names
+     */
     void firePropertiesChanged(final Collection<String> properties) {
         propertyLoop: for (final String property : properties) {
             Method getMethod = null;
-            for (final Method method : getClass().getMethods()) {
+            for (final Method method : this.getClass().getMethods()) {
                 if (method.getName().equals("get" + property)) {
                     getMethod = method;
                     break;
@@ -87,7 +106,7 @@
                     }
                 }
                 if (value != null) {
-                    firePropertyChange(property, value, value);
+                    this.firePropertyChange(property, value, value);
                     for (final PropertyChangeListener listener : this.propertyChangeSupport
                             .getPropertyChangeListeners()) {
                         // FIXME: For some reason calling the propertyChangeSupport methods directly here doesn't work!
@@ -101,17 +120,48 @@
         }
     }
 
+    /**
+     * Fire a property change event.
+     *
+     * @param evt the property change event
+     */
     protected void firePropertyChange(final PropertyChangeEvent evt) {
         this.propertyChangeSupport.firePropertyChange(evt);
     }
 
+    /**
+     * Fire a property change.
+     *
+     * @param propertyName the name of the property
+     * @param oldValue the old property value
+     * @param newValue the new property value
+     */
     protected void firePropertyChange(final String propertyName, final Object oldValue, final Object newValue) {
         this.propertyChangeSupport.firePropertyChange(propertyName, oldValue, newValue);
     }
 
+    /**
+     * Get the property change support object.
+     *
+     * @return the property change support object
+     */
+    PropertyChangeSupport getPropertyChangeSupport() {
+        return this.propertyChangeSupport;
+    }
+
+    /**
+     * Get the list of the property names for this model.
+     *
+     * @return the list of the property names for this model
+     */
     abstract public String[] getPropertyNames();
 
+    /**
+     * Remove a property change listener from the model.
+     *
+     * @param listener the property change listener to remove
+     */
     public void removePropertyChangeListener(final PropertyChangeListener listener) {
         this.propertyChangeSupport.removePropertyChangeListener(listener);
     }
-}
+}

Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/Configuration.java
 =============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/Configuration.java	(original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/Configuration.java	Mon Apr 13 10:40:21 2015
@@ -17,18 +17,34 @@
  */
 public final class Configuration {
 
-    File file;
-    Properties properties;
-    String resourcePath;
-
+    /**
+     * The file containing the keys and values.
+     */
+    private File file;
+
+    /**
+     * The Java properties file.
+     */
+    private Properties properties;
+
+    /**
+     * The path to an embedded properties resource from a jar.
+     */
+    private String resourcePath;
+
+    /**
+     * Class constructor.
+     */
     Configuration() {
         this.properties = new Properties();
     }
 
     /**
-     * Load a configuration from a properties file.
-     * 
-     * @param file The properties file.
+     * Class constructor.
+     * <p>
+     * Loads a configuration from a properties file.
+     *
+     * @param file the properties file
      */
     public Configuration(final File file) {
         this.file = file;
@@ -41,9 +57,11 @@
     }
 
     /**
+     * Class constructor.
+     * <p>
      * Load a configuration from a resource path pointing to a properties file.
-     * 
-     * @param resourcePath The resource path to the properties file.
+     *
+     * @param resourcePath the resource path to the properties file
      */
     public Configuration(final String resourcePath) {
         this.resourcePath = resourcePath;
@@ -58,22 +76,22 @@
 
     /**
      * Check if the properties contains the key and if it has a non-null value.
-     * 
-     * @param key The properties key.
-     * @return True if properties key is valid.
+     *
+     * @param key the properties key
+     * @return <code>true</code> if properties key is valid
      */
     boolean checkKey(final String key) {
-        return hasKey(key) && this.properties.getProperty(key) != null;
+        return this.hasKey(key) && this.properties.getProperty(key) != null;
     }
 
     /**
      * Get a key value as a string.
-     * 
-     * @param key The key to lookup.
-     * @return The value or null if does not exist.
+     *
+     * @param key the key to lookup
+     * @return the value or null if does not exist
      */
     String get(final String key) {
-        if (checkKey(key)) {
+        if (this.checkKey(key)) {
             // Return the key value for properties that are set.
             return this.properties.getProperty(key);
         } else {
@@ -84,12 +102,12 @@
 
     /**
      * Get a key value as a boolean.
-     * 
-     * @param key The key to lookup.
-     * @return The value or null if does not exist.
+     *
+     * @param key the key to lookup
+     * @return the value or null if does not exist
      */
     Boolean getBoolean(final String key) {
-        if (checkKey(key)) {
+        if (this.checkKey(key)) {
             return Boolean.parseBoolean(this.properties.getProperty(key));
         } else {
             return null;
@@ -98,12 +116,12 @@
 
     /**
      * Get a key value as a double.
-     * 
-     * @param key The key to lookup.
-     * @return The value or null if does not exist.
+     *
+     * @param key the key to lookup
+     * @return the value as a <code>Double</code> or <code>null</code> if does not exist
      */
     Double getDouble(final String key) {
-        if (checkKey(key)) {
+        if (this.checkKey(key)) {
             return Double.parseDouble(this.properties.getProperty(key));
         } else {
             return null;
@@ -112,8 +130,8 @@
 
     /**
      * Get the file associated with this configuration or <code>null</code> if not set.
-     * 
-     * @return The file associated with the configuration.
+     *
+     * @return the file associated with the configuration
      */
     public File getFile() {
         return this.file;
@@ -121,12 +139,12 @@
 
     /**
      * Get a key value as an integer.
-     * 
-     * @param key The key to lookup.
-     * @return The value or null if does not exist.
+     *
+     * @param key the key to lookup
+     * @return the value as an <code>Integer</code> or <code>null</code> if does not exist
      */
     Integer getInteger(final String key) {
-        if (checkKey(key)) {
+        if (this.checkKey(key)) {
             return Integer.parseInt(this.properties.getProperty(key));
         } else {
             return null;
@@ -135,8 +153,8 @@
 
     /**
      * Get the property keys.
-     * 
-     * @return The collection of property keys.
+     *
+     * @return the collection of property keys
      */
     public Set<String> getKeys() {
         return this.properties.stringPropertyNames();
@@ -144,13 +162,12 @@
 
     /**
      * Get a key value as a Long.
-     * 
-     * @param key The key to lookup.
-     * @param key The value or null if does not exist.
-     * @return
+     *
+     * @param key the key to lookup
+     * @return the key value as a <code>Long</code>
      */
     Long getLong(final String key) {
-        if (checkKey(key)) {
+        if (this.checkKey(key)) {
             return Long.parseLong(this.properties.getProperty(key));
         } else {
             return null;
@@ -159,18 +176,18 @@
 
     /**
      * Get the resource path associated with this configuration or <code>null</code> if not applicable.
-     * 
-     * @return The resource path of this configuration.
+     *
+     * @return the resource path of this configuration
      */
     public String getResourcePath() {
         return this.resourcePath;
     }
 
     /**
-     * True if configuration has value for the key.
-     * 
-     * @param key The key.
-     * @return True if configuration has value for the key.
+     * Return <code>true</code> if configuration has value for the key.
+     *
+     * @param key the key
+     * @return <code>true</code> if configuration has value for the key
      */
     boolean hasKey(final String key) {
         try {
@@ -183,8 +200,8 @@
     /**
      * Merge in values from another configuration into this one which will override properties that already exist with
      * new values.
-     * 
-     * @param configuration The configuration with the properties to merge.
+     *
+     * @param configuration the configuration with the properties to merge
      */
     void merge(final Configuration configuration) {
         for (final String property : configuration.getKeys()) {
@@ -194,8 +211,8 @@
 
     /**
      * Remove a configuration value.
-     * 
-     * @param key The key of the value.
+     *
+     * @param key the key of the value
      */
     void remove(final String key) {
         this.properties.remove(key);
@@ -203,9 +220,9 @@
 
     /**
      * Set a configuration value.
-     * 
-     * @param key The key for lookup.
-     * @param value The value to assign to that key.
+     *
+     * @param key the key for lookup
+     * @param value the value to assign to that key
      */
     void set(final String key, final Object value) {
         this.properties.put(key, String.valueOf(value));
@@ -221,7 +238,7 @@
 
     /**
      * Write this configuration to a file and set that file as the current one.
-     * 
+     *
      * @param file The output file.
      */
     public void writeToFile(final File file) {

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 10:40:21 2015
@@ -16,107 +16,303 @@
  */
 public final class ConfigurationModel extends AbstractModel {
 
-    // Job setting properties.
+    /**
+     * Name of AIDA server.
+     */
     public static final String AIDA_SERVER_NAME_PROPERTY = "AIDAServerName";
 
+    /**
+     * ET blocking setting.
+     */
     public static final String BLOCKING_PROPERTY = "Blocking";
 
+    /**
+     * ET chunk size (number of events per ET <code>getEvents</code>).
+     */
     public static final String CHUNK_SIZE_PROPERTY = "ChunkSize";
+
+    /**
+     * Conditions tag.
+     */
     public static final String CONDITIONS_TAG_PROPERTY = "ConditionsTag";
+
+    /**
+     * The list of all property names.
+     */
     static final String[] CONFIG_PROPERTIES = AbstractModel.getPropertyNames(ConfigurationModel.class);
-    public static final String CONFIGURATION_CHANGED = "configurationChanged";
+
+    /**
+     * The data source path which is a file path if using a file source (EVIO or LCIO file.
+     */
     public static final String DATA_SOURCE_PATH_PROPERTY = "DataSourcePath";
+
+    /**
+     * The data source type (EVIO, LCIO or ET).
+     *
+     * @see org.hps.record.enums.DataSourceType
+     * @return the data source type
+     */
     public static final String DATA_SOURCE_TYPE_PROPERTY = "DataSourceType";
+
+    /**
+     * The detector alias which is pointing to a local compact.xml detector file.
+     */
     public static final String DETECTOR_ALIAS_PROPERTY = "DetectorAlias";
+
+    /**
+     * The name of a detector model to use from the jar file.
+     */
     public static final String DETECTOR_NAME_PROPERTY = "DetectorName";
+
+    /**
+     * Flag to enable disconnecting when an EVIO END event is received.
+     */
     public static final String DISCONNECT_ON_END_RUN_PROPERTY = "DisconnectOnEndRun";
+
+    /**
+     * Flag to enable disconnecting if an event processing error occurs.
+     */
     public static final String DISCONNECT_ON_ERROR_PROPERTY = "DisconnectOnError";
+
+    /**
+     * The name of the ET system which is generally a file on disk.
+     */
     public static final String ET_NAME_PROPERTY = "EtName";
+
+    /**
+     * The name of the event builder for converting from EVIO to LCIO events.
+     */
     public static final String EVENT_BUILDER_PROPERTY = "EventBuilderClassName";
+
+    /**
+     * Flag to freeze conditions system after initialization.
+     */
     public static final String FREEZE_CONDITIONS_PROPERTY = "FreezeConditions";
+
+    /**
+     * The ET host property (TCP/IP host name).
+     */
     public static final String HOST_PROPERTY = "Host";
+
+    /**
+     * The name of the output log file.
+     */
     public static final String LOG_FILE_NAME_PROPERTY = "LogFileName";
+
+    /**
+     * The filter level for displaying records in the log table.
+     */
     public static final String LOG_LEVEL_FILTER_PROPERTY = "LogLevelFilter";
+
+    /**
+     * The global log level.
+     */
     public static final String LOG_LEVEL_PROPERTY = "LogLevel";
+
+    /**
+     * Flag to log to a file.
+     */
     public static final String LOG_TO_FILE_PROPERTY = "LogToFile";
+
+    /**
+     * Max events after which session will be automatically ended.
+     */
     public static final String MAX_EVENTS_PROPERTY = "MaxEvents";
+
+    /**
+     * The maximum number of recent files (hard-coded to 10 to match 0-9 shortcut mnemonics).
+     */
     private static final int MAX_RECENT_FILES = 10;
+
+    /**
+     * The ET TCP/IP port.
+     */
     public static final String PORT_PROPERTY = "Port";
+
+    /**
+     * The ET pre-scaling value which throttles event rate.
+     */
     public static final String PRESCALE_PROPERTY = "Prescale";
+
+    /**
+     * The processing stage(s) to execute (ET, EVIO or LCIO).
+     */
     public static final String PROCESSING_STAGE_PROPERTY = "ProcessingStage";
+
+    /**
+     * The ET queue size.
+     */
     public static final String QUEUE_SIZE_PROPERTY = "QueueSize";
+
+    /**
+     * The list of recent files.
+     */
     public static final String RECENT_FILES_PROPERTY = "RecentFiles";
+
+    /**
+     * The ET station name.
+     */
     public static final String STATION_NAME_PROPERTY = "StationName";
+
+    /**
+     * The ET station position.
+     */
     public static final String STATION_POSITION_PROPERTY = "StationPosition";
+
+    /**
+     * The steering file.
+     */
     public static final String STEERING_FILE_PROPERTY = "SteeringFile";
+
+    /**
+     * The steering resource.
+     */
     public static final String STEERING_RESOURCE_PROPERTY = "SteeringResource";
+
+    /**
+     * The steering type (file or resource).
+     */
     public static final String STEERING_TYPE_PROPERTY = "SteeringType";
+
+    /**
+     * A user run number to use for initializing the conditions system.
+     */
     public static final String USER_RUN_NUMBER_PROPERTY = "UserRunNumber";
+
+    /**
+     * The verbose setting for the ET system.
+     */
     public static final String VERBOSE_PROPERTY = "Verbose";
+
+    /**
+     * The ET wait mode.
+     */
     public static final String WAIT_MODE_PROPERTY = "WaitMode";
+
+    /**
+     * The ET wait time (if using timed wait mode).
+     */
     public static final String WAIT_TIME_PROPERTY = "WaitTime";
 
-    Configuration configuration;
-
+    /**
+     * The underlying properties for the model.
+     */
+    private Configuration configuration;
+
+    /**
+     * Class constructor.
+     * <p>
+     * Create a new model without any initial property settings.
+     */
     public ConfigurationModel() {
         this.configuration = new Configuration();
     }
 
+    /**
+     * Class constructor.
+     * <p>
+     * Sets the properties from a configuration (file or resource).
+     *
+     * @param configuration the configuration containing property settings
+     */
     public ConfigurationModel(final Configuration configuration) {
         this.configuration = configuration;
-        fireModelChanged();
-    }
-
+        this.fireModelChanged();
+    }
+
+    /**
+     * Add a single recent file.
+     *
+     * @param recentFile the recent file to add
+     */
     public void addRecentFile(final String recentFile) {
         if (!this.configuration.checkKey(RECENT_FILES_PROPERTY)) {
             this.configuration.set(RECENT_FILES_PROPERTY, recentFile);
-            firePropertyChange(RECENT_FILES_PROPERTY, null, recentFile);
+            this.firePropertyChange(RECENT_FILES_PROPERTY, null, recentFile);
         } else {
-            final List<String> recentFilesList = getRecentFilesList();
+            final List<String> recentFilesList = this.getRecentFilesList();
             if (!recentFilesList.contains(recentFile)) {
-                if (getRecentFilesList().size() >= MAX_RECENT_FILES) {
+                if (this.getRecentFilesList().size() >= MAX_RECENT_FILES) {
                     // Bump the first file from the list if max recent files is exceeded (10 files).
                     recentFilesList.remove(0);
-                    setRecentFilesList(recentFilesList);
+                    this.setRecentFilesList(recentFilesList);
                 }
                 final String oldValue = this.configuration.get(RECENT_FILES_PROPERTY);
                 final String recentFiles = oldValue + "\n" + recentFile;
                 this.configuration.set(RECENT_FILES_PROPERTY, recentFiles);
-                firePropertyChange(RECENT_FILES_PROPERTY, oldValue, recentFile);
+                this.firePropertyChange(RECENT_FILES_PROPERTY, oldValue, recentFile);
             }
         }
 
     }
 
+    /**
+     * Fire property change for all property keys.
+     */
     @Override
     public void fireModelChanged() {
-        firePropertiesChanged(this.configuration.getKeys());
-    }
-
+        this.firePropertiesChanged(this.configuration.getKeys());
+    }
+
+    /**
+     * Get the AIDA server name.
+     *
+     * @return the AIDA server name
+     */
     public String getAIDAServerName() {
         return this.configuration.get(AIDA_SERVER_NAME_PROPERTY);
     }
 
+    /**
+     * Get the ET blocking setting.
+     *
+     * @return the ET blocking setting
+     */
     public Boolean getBlocking() {
         return this.configuration.getBoolean(BLOCKING_PROPERTY);
     }
 
+    /**
+     * Get the ET chunk size
+     *
+     * @return the ET chunk size
+     */
     public Integer getChunkSize() {
         return this.configuration.getInteger(CHUNK_SIZE_PROPERTY);
     }
 
+    /**
+     * Get the conditions system tag.
+     *
+     * @return the conditions system tag
+     */
     public String getConditionsTag() {
         return this.configuration.get(CONDITIONS_TAG_PROPERTY);
     }
 
+    /**
+     * Get the underlying configuration containing properties.
+     *
+     * @return the underlying configuration with properties settings
+     */
     public Configuration getConfiguration() {
         return this.configuration;
     }
 
+    /**
+     * Get the data source path.
+     *
+     * @return the data source path
+     */
     public String getDataSourcePath() {
         return this.configuration.get(DATA_SOURCE_PATH_PROPERTY);
     }
 
+    /**
+     * Get the data source type (EVIO, LCIO or ET).
+     *
+     * @return the data source type
+     */
     public DataSourceType getDataSourceType() {
         if (this.configuration.checkKey(DATA_SOURCE_TYPE_PROPERTY)) {
             return DataSourceType.valueOf(this.configuration.get(DATA_SOURCE_TYPE_PROPERTY));
@@ -125,70 +321,158 @@
         }
     }
 
+    /**
+     * Get the detector alias which is a compact.xml file on disk.
+     *
+     * @return the detector alias
+     */
     public String getDetectorAlias() {
         return this.configuration.get(DETECTOR_ALIAS_PROPERTY);
     }
 
+    /**
+     * Get the detector name.
+     *
+     * @return the detector name
+     */
     public String getDetectorName() {
         return this.configuration.get(DETECTOR_NAME_PROPERTY);
     }
 
+    /**
+     * Get the disconnect on end run flag.
+     *
+     * @return the disconnect on end run flag
+     */
     public Boolean getDisconnectOnEndRun() {
         return this.configuration.getBoolean(DISCONNECT_ON_END_RUN_PROPERTY);
     }
 
+    /**
+     * Get the disconnect on error flag.
+     *
+     * @return the disconnect on error flag
+     */
     public Boolean getDisconnectOnError() {
         return this.configuration.getBoolean(DISCONNECT_ON_ERROR_PROPERTY);
     }
 
+    /**
+     * Get the ET system name.
+     *
+     * @return the ET system name
+     */
     public String getEtName() {
         return this.configuration.get(ET_NAME_PROPERTY);
     }
 
+    /**
+     * Get the ET path from concatenating the ET system name, host and post (which is just used for the GUI).
+     *
+     * @return the ET path
+     */
     public String getEtPath() {
-        return getEtName() + "@" + getHost() + ":" + getPort();
-    }
-
+        return this.getEtName() + "@" + this.getHost() + ":" + this.getPort();
+    }
+
+    /**
+     * Get the event builder class name.
+     *
+     * @return the event builder class name
+     */
     public String getEventBuilderClassName() {
         return this.configuration.get(EVENT_BUILDER_PROPERTY);
     }
 
+    /**
+     * Get the freeze conditions setting which will cause conditions system to be frozen after initialization with the
+     * currently selected run number and detector name.
+     *
+     * @return the freeze conditions setting
+     */
     public Boolean getFreezeConditions() {
         return this.configuration.getBoolean(FREEZE_CONDITIONS_PROPERTY);
     }
 
+    /**
+     * Get the ET host name.
+     *
+     * @return the ET host name
+     */
     public String getHost() {
         return this.configuration.get(HOST_PROPERTY);
     }
 
+    /**
+     * Get the log file name.
+     *
+     * @return the log file name
+     */
     public String getLogFileName() {
         return this.configuration.get(LOG_FILE_NAME_PROPERTY);
     }
 
+    /**
+     * Get the global log level.
+     *
+     * @return the global log level
+     */
     public Level getLogLevel() {
         return Level.parse(this.configuration.get(LOG_LEVEL_PROPERTY));
     }
 
+    /**
+     * Get the log level filter for displaying messages in the log table.
+     *
+     * @return the log level filter
+     */
     public Level getLogLevelFilter() {
         return Level.parse(this.configuration.get(LOG_LEVEL_FILTER_PROPERTY));
     }
 
+    /**
+     * Get the log to file setting which redirects monitoring application log messages from the console to a file.
+     *
+     * @return the log to file setting
+     */
     public Boolean getLogToFile() {
         return this.configuration.getBoolean(LOG_TO_FILE_PROPERTY);
     }
 
+    /**
+     * Get the maximum number of events before disconnecting.
+     *
+     * @return the maximum number of events before disconnecting
+     */
     public Long getMaxEvents() {
         return this.configuration.getLong(MAX_EVENTS_PROPERTY);
     }
 
+    /**
+     * Get the ET TCP/IP port value.
+     *
+     * @return the ET TCP/IP port value
+     */
     public Integer getPort() {
         return this.configuration.getInteger(PORT_PROPERTY);
     }
 
+    /**
+     * Get the ET station prescale value.
+     *
+     * @return the ET station prescale value
+     */
     public Integer getPrescale() {
         return this.configuration.getInteger(PRESCALE_PROPERTY);
     }
 
+    /**
+     * Get the processing stage.
+     * <p>
+     * Each level will execute the preceding ones, e.g. LCIO exectures EVIO, ET and LCIO event processing
+     *
+     * @return the processing stage to execute
+     */
     public ProcessingStage getProcessingStage() {
         if (this.configuration.get(PROCESSING_STAGE_PROPERTY) == null) {
             throw new RuntimeException(PROCESSING_STAGE_PROPERTY + " is null!!!");
@@ -196,6 +480,11 @@
         return ProcessingStage.valueOf(this.configuration.get(PROCESSING_STAGE_PROPERTY));
     }
 
+    /**
+     * Get the property names in the configuration.
+     *
+     * @return the property names in the configuration
+     */
     @Override
     public String[] getPropertyNames() {
         return CONFIG_PROPERTIES;
@@ -205,6 +494,11 @@
         return this.configuration.getInteger(QUEUE_SIZE_PROPERTY);
     }
 
+    /**
+     * Get recent files as a string with paths separated by the '\n' string.
+     *
+     * @return the recent files as a delimited string
+     */
     public String getRecentFiles() {
         if (this.configuration.hasKey(RECENT_FILES_PROPERTY)) {
             return this.configuration.get(RECENT_FILES_PROPERTY);
@@ -213,6 +507,14 @@
         }
     }
 
+    /**
+     * Get the recent files list.
+     * <p>
+     * This is actually just a copy from the property, so to set the recent file list call
+     * {@link #setRecentFiles(String)}.
+     *
+     * @return the recent files list
+     */
     public List<String> getRecentFilesList() {
         final List<String> recentFilesList = new ArrayList<String>();
         if (this.configuration.hasKey(RECENT_FILES_PROPERTY)) {
@@ -223,217 +525,392 @@
         return recentFilesList;
     }
 
-    /*
-     * public void setDataSource(String dataSource) { setDataSourcePath(dataSource); DataSourceType dst =
-     * DataSourceType.getDataSourceType(dataSource); setDataSourceType(dst); }
-     */
-
+    /**
+     * Get the ET station name.
+     *
+     * @return the ET station name
+     */
     public String getStationName() {
         return this.configuration.get(STATION_NAME_PROPERTY);
     }
 
+    /**
+     * Get the ET station position.
+     *
+     * @return the ET station position
+     */
     public Integer getStationPosition() {
         return this.configuration.getInteger(STATION_POSITION_PROPERTY);
     }
 
+    /**
+     * Get the steering file location (if using a file on disk).
+     *
+     * @return the XML file steering path
+     */
     public String getSteeringFile() {
         return this.configuration.get(STEERING_FILE_PROPERTY);
     }
 
+    /**
+     * Get the steering resource (if using a jar resource).
+     *
+     * @return the steering resource location
+     */
     public String getSteeringResource() {
         return this.configuration.get(STEERING_RESOURCE_PROPERTY);
     }
 
+    /**
+     * Get whether the steering is a file or resource.
+     *
+     * @return whether the steering is a file or resource
+     */
     public SteeringType getSteeringType() {
         return SteeringType.valueOf(this.configuration.get(STEERING_TYPE_PROPERTY));
     }
 
+    /**
+     * Get the user run number for configuring the conditions system.
+     *
+     * @return the user run number for configuring the conditions system
+     */
     public Integer getUserRunNumber() {
         return this.configuration.getInteger(USER_RUN_NUMBER_PROPERTY);
     }
 
+    /**
+     * Get the ET verbose flag.
+     *
+     * @return the ET verbose flag
+     */
     public Boolean getVerbose() {
         return this.configuration.getBoolean(VERBOSE_PROPERTY);
     }
 
+    /**
+     * Get the ET wait mode.
+     *
+     * @return the ET wait mode
+     */
     public Mode getWaitMode() {
         return Mode.valueOf(this.configuration.get(WAIT_MODE_PROPERTY));
     }
 
+    /**
+     * Get the ET wait time.
+     *
+     * @return the ET wait time
+     */
     public Integer getWaitTime() {
         return this.configuration.getInteger(WAIT_TIME_PROPERTY);
     }
 
+    /**
+     * Return <code>true</code> if the given property key exists.
+     *
+     * @param key the property key
+     * @return <code>true</code> if property key exists (still might be <code>null</code>)
+     */
     public boolean hasPropertyKey(final String key) {
         return this.configuration.hasKey(key);
     }
 
+    /**
+     * Return <code>true</code> if the given property key exists and is non-null.
+     *
+     * @param key the property key
+     * @return <code>true</code> if the property key exists and is non-null
+     */
     public boolean hasValidProperty(final String key) {
         return this.configuration.checkKey(key);
     }
 
+    /**
+     * Merge another properties configuration into this one.
+     * <p>
+     * Settings from the merged properties will override this one.
+     *
+     * @param configuration the properties configuration to merge in
+     */
     public void merge(final Configuration configuration) {
         this.configuration.merge(configuration);
         this.firePropertiesChanged(configuration.getKeys());
     }
 
+    /**
+     * Remove the given property which should remove its key and value.
+     *
+     * @param property the property to remove
+     */
     public void remove(final String property) {
-        if (hasPropertyKey(property)) {
+        if (this.hasPropertyKey(property)) {
             final Object oldValue = this.configuration.get(property);
             if (oldValue != null) {
                 this.configuration.remove(property);
-                firePropertyChange(property, oldValue, null);
+                this.firePropertyChange(property, oldValue, null);
             }
         }
     }
 
+    /**
+     * Set the name of the AIDA server.
+     *
+     * @param AIDAServerName the name of the AIDA server
+     */
     public void setAIDAServerName(final String AIDAServerName) {
-        final String oldValue = getAIDAServerName();
+        final String oldValue = this.getAIDAServerName();
         this.configuration.set(AIDA_SERVER_NAME_PROPERTY, AIDAServerName);
-        firePropertyChange(AIDA_SERVER_NAME_PROPERTY, oldValue, getAIDAServerName());
-    }
-
+        this.firePropertyChange(AIDA_SERVER_NAME_PROPERTY, oldValue, this.getAIDAServerName());
+    }
+
+    /**
+     * Set whether the ET station is blocking (generally this should not be set to <code>true</code>!)
+     *
+     * @param blocking <code>true</code> if station should be blocking
+     */
     public void setBlocking(final Boolean blocking) {
-        final Boolean oldValue = getBlocking();
+        final Boolean oldValue = this.getBlocking();
         this.configuration.set(BLOCKING_PROPERTY, blocking);
-        firePropertyChange(BLOCKING_PROPERTY, oldValue, getBlocking());
-    }
-
+        this.firePropertyChange(BLOCKING_PROPERTY, oldValue, this.getBlocking());
+    }
+
+    /**
+     * The ET chunk size which is how many events should be returned at once in the array.
+     *
+     * @param chunkSize the ET chunk size
+     */
     public void setChunkSize(final Integer chunkSize) {
-        final Integer oldValue = getChunkSize();
+        final Integer oldValue = this.getChunkSize();
         this.configuration.set(CHUNK_SIZE_PROPERTY, chunkSize);
-        firePropertyChange(CHUNK_SIZE_PROPERTY, oldValue, getChunkSize());
-    }
-
+        this.firePropertyChange(CHUNK_SIZE_PROPERTY, oldValue, this.getChunkSize());
+    }
+
+    /**
+     * Set the conditions system tag.
+     *
+     * @param conditionsTag the conditions system tag
+     */
     public void setConditionsTag(final String conditionsTag) {
-        final String oldValue = getConditionsTag();
+        final String oldValue = this.getConditionsTag();
         this.configuration.set(CONDITIONS_TAG_PROPERTY, conditionsTag);
-        firePropertyChange(CONDITIONS_TAG_PROPERTY, oldValue, getConditionsTag());
-    }
-
+        this.firePropertyChange(CONDITIONS_TAG_PROPERTY, oldValue, this.getConditionsTag());
+    }
+
+    /**
+     * Set a new configuration for the model which will fire property change events on all properties.
+     *
+     * @param configuration the configuration with properties for the model
+     */
     public void setConfiguration(final Configuration configuration) {
         this.configuration = configuration;
-        fireModelChanged();
-    }
-
+        this.fireModelChanged();
+    }
+
+    /**
+     * Set the data source path which should be a valid EVIO or LCIO file on an accessible disk.
+     *
+     * @param dataSourcePath the data source path
+     */
     public void setDataSourcePath(final String dataSourcePath) {
-        final String oldValue = getDataSourcePath();
+        final String oldValue = this.getDataSourcePath();
         this.configuration.set(DATA_SOURCE_PATH_PROPERTY, dataSourcePath);
-        firePropertyChange(DATA_SOURCE_PATH_PROPERTY, oldValue, getDataSourcePath());
-    }
-
+        this.firePropertyChange(DATA_SOURCE_PATH_PROPERTY, oldValue, this.getDataSourcePath());
+    }
+
+    /**
+     * Set the data source type
+     *
+     * @see
+     * @param dataSourceType
+     */
     public void setDataSourceType(final DataSourceType dataSourceType) {
-        final DataSourceType oldValue = getDataSourceType();
+        final DataSourceType oldValue = this.getDataSourceType();
         this.configuration.set(DATA_SOURCE_TYPE_PROPERTY, dataSourceType);
-        firePropertyChange(DATA_SOURCE_TYPE_PROPERTY, oldValue, getDataSourceType());
-    }
-
+        this.firePropertyChange(DATA_SOURCE_TYPE_PROPERTY, oldValue, this.getDataSourceType());
+    }
+
+    /**
+     * Set the detector alias which is an alternate file path to use for the detector model instead of the one from jar.
+     *
+     * @param detectorAlias the detector alias
+     */
     public void setDetectorAlias(final String detectorAlias) {
         String oldValue = null;
-        if (hasPropertyKey(DETECTOR_ALIAS_PROPERTY)) {
-            oldValue = getDetectorAlias();
+        if (this.hasPropertyKey(DETECTOR_ALIAS_PROPERTY)) {
+            oldValue = this.getDetectorAlias();
         }
         this.configuration.set(DETECTOR_ALIAS_PROPERTY, detectorAlias);
-        firePropertyChange(DETECTOR_ALIAS_PROPERTY, oldValue, getDetectorAlias());
-    }
-
+        this.firePropertyChange(DETECTOR_ALIAS_PROPERTY, oldValue, this.getDetectorAlias());
+    }
+
+    /**
+     * 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:
+     *
+     * <pre>
+     * ${DETECTOR_NAME}/detector.properties
+     * </pre>
+     *
+     * @param detectorName the name of the detector name
+     */
     public void setDetectorName(final String detectorName) {
-        final String oldValue = getDetectorName();
+        final String oldValue = this.getDetectorName();
         this.configuration.set(DETECTOR_NAME_PROPERTY, detectorName);
-        firePropertyChange(DETECTOR_NAME_PROPERTY, oldValue, getDetectorName());
-    }
-
+        this.firePropertyChange(DETECTOR_NAME_PROPERTY, oldValue, this.getDetectorName());
+    }
+
+    /**
+     * Set to <code>true</code> to disconnect when an EVIO END event is received.
+     *
+     * @param disconnectOnEndRun <code>true</code> to disconnect when an EVIO END event is received
+     */
     public void setDisconnectOnEndRun(final Boolean disconnectOnEndRun) {
-        final Boolean oldValue = getDisconnectOnEndRun();
+        final Boolean oldValue = this.getDisconnectOnEndRun();
         this.configuration.set(DISCONNECT_ON_END_RUN_PROPERTY, disconnectOnEndRun);
-        firePropertyChange(DISCONNECT_ON_END_RUN_PROPERTY, oldValue, getDisconnectOnEndRun());
-    }
-
+        this.firePropertyChange(DISCONNECT_ON_END_RUN_PROPERTY, oldValue, this.getDisconnectOnEndRun());
+    }
+
+    /**
+     * 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
+     */
     public void setDisconnectOnError(final Boolean disconnectOnError) {
-        final Boolean oldValue = getDisconnectOnError();
+        final Boolean oldValue = this.getDisconnectOnError();
         this.configuration.set(DISCONNECT_ON_ERROR_PROPERTY, disconnectOnError);
-        firePropertyChange(DISCONNECT_ON_ERROR_PROPERTY, oldValue, getDisconnectOnError());
-    }
-
+        this.firePropertyChange(DISCONNECT_ON_ERROR_PROPERTY, oldValue, this.getDisconnectOnError());
+    }
+
+    /**
+     * Set the name of the ET system which is usually a file.
+     * <p>
+     * Setting this to a valid file on disk being used by the ET server to buffer events will result in event processing
+     * speedup.
+     *
+     * @param etName the name of the ET system (usually a path on disk used as an event buffer by an ET server)
+     */
     public void setEtName(final String etName) {
-        final String oldValue = getEtName();
+        final String oldValue = this.getEtName();
         this.configuration.set(ET_NAME_PROPERTY, etName);
-        firePropertyChange(ET_NAME_PROPERTY, oldValue, getEtName());
-    }
-
+        this.firePropertyChange(ET_NAME_PROPERTY, oldValue, this.getEtName());
+    }
+
+    /**
+     * 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
+     */
     public void setEventBuilderClassName(final String eventBuilderClassName) {
-        final String oldValue = getEventBuilderClassName();
+        final String oldValue = this.getEventBuilderClassName();
         this.configuration.set(EVENT_BUILDER_PROPERTY, eventBuilderClassName);
-        firePropertyChange(EVENT_BUILDER_PROPERTY, oldValue, getEventBuilderClassName());
-    }
-
+        this.firePropertyChange(EVENT_BUILDER_PROPERTY, oldValue, this.getEventBuilderClassName());
+    }
+
+    /**
+     * Set to <code>true</code> to freeze the conditions system after initialization if there is a valid detector name
+     * and run number setting
+     *
+     * @param freezeConditions <code>true</code> to freeze the conditions
+     */
     public void setFreezeConditions(final Boolean freezeConditions) {
         Boolean oldValue = null;
-        if (hasPropertyKey(FREEZE_CONDITIONS_PROPERTY)) {
-            oldValue = getFreezeConditions();
+        if (this.hasPropertyKey(FREEZE_CONDITIONS_PROPERTY)) {
+            oldValue = this.getFreezeConditions();
         }
         this.configuration.set(FREEZE_CONDITIONS_PROPERTY, freezeConditions);
-        firePropertyChange(FREEZE_CONDITIONS_PROPERTY, oldValue, freezeConditions);
-    }
-
+        this.firePropertyChange(FREEZE_CONDITIONS_PROPERTY, oldValue, freezeConditions);
+    }
+
+    /**
+     * Set the ET TCP/IP host name of the server.
+     *
+     * @param host the host name
+     */
     public void setHost(final String host) {
-        final String oldValue = getHost();
+        final String oldValue = this.getHost();
         this.configuration.set(HOST_PROPERTY, host);
-        firePropertyChange(HOST_PROPERTY, oldValue, getHost());
-    }
-
+        this.firePropertyChange(HOST_PROPERTY, oldValue, this.getHost());
+    }
+
+    /**
+     * Set the log file name if using file logging.
+     *
+     * @param logFileName the log file name
+     */
     public void setLogFileName(final String logFileName) {
-        final String oldValue = getLogFileName();
+        final String oldValue = this.getLogFileName();
         this.configuration.set(LOG_FILE_NAME_PROPERTY, logFileName);
-        firePropertyChange(LOG_FILE_NAME_PROPERTY, oldValue, getLogFileName());
-    }
-
+        this.firePropertyChange(LOG_FILE_NAME_PROPERTY, oldValue, this.getLogFileName());
+    }
+
+    /**
+     * Set the global log level.
+     *
+     * @param level the global log level
+     */
     public void setLogLevel(final Level level) {
-        final Level oldValue = getLogLevel();
+        final Level oldValue = this.getLogLevel();
         this.configuration.set(LOG_LEVEL_PROPERTY, level.getName());
-        firePropertyChange(LOG_LEVEL_PROPERTY, oldValue, getLogLevel());
-    }
-
+        this.firePropertyChange(LOG_LEVEL_PROPERTY, oldValue, this.getLogLevel());
+    }
+
+    /**
+     * Set log filter level for the log table.
+     *
+     * @param level the log filter level
+     */
     public void setLogLevelFilter(final Level level) {
-        final Level oldValue = getLogLevelFilter();
+        final Level oldValue = this.getLogLevelFilter();
         this.configuration.set(LOG_LEVEL_FILTER_PROPERTY, level.getName());
-        firePropertyChange(LOG_LEVEL_FILTER_PROPERTY, oldValue, getLogLevelFilter());
-    }
-
+        this.firePropertyChange(LOG_LEVEL_FILTER_PROPERTY, oldValue, this.getLogLevelFilter());
+    }
+
+    /**
+     * Set to <code>true</code> to send global messages to a file instead of the console.
+     *
+     * @param logToFile <code>true</code> to log to file
+     */
     public void setLogToFile(final Boolean logToFile) {
-        final Boolean oldValue = getLogToFile();
+        final Boolean oldValue = this.getLogToFile();
         this.configuration.set(LOG_TO_FILE_PROPERTY, logToFile);
-        firePropertyChange(LOG_TO_FILE_PROPERTY, oldValue, getLogToFile());
-    }
-
+        this.firePropertyChange(LOG_TO_FILE_PROPERTY, oldValue, this.getLogToFile());
+    }
+
+    /**
+     *
+     * @param maxEvents
+     */
     public void setMaxEvents(final Long maxEvents) {
-        final Long oldValue = getMaxEvents();
+        final Long oldValue = this.getMaxEvents();
         this.configuration.set(MAX_EVENTS_PROPERTY, maxEvents);
-        firePropertyChange(MAX_EVENTS_PROPERTY, oldValue, getMaxEvents());
+        this.firePropertyChange(MAX_EVENTS_PROPERTY, oldValue, this.getMaxEvents());
     }
 
     public void setPort(final Integer port) {
-        final Integer oldValue = getPort();
+        final Integer oldValue = this.getPort();
         this.configuration.set(PORT_PROPERTY, port);
-        firePropertyChange(PORT_PROPERTY, oldValue, getPort());
+        this.firePropertyChange(PORT_PROPERTY, oldValue, this.getPort());
     }
 
     public void setPrescale(final Integer prescale) {
-        final Integer oldValue = getPrescale();
+        final Integer oldValue = this.getPrescale();
         this.configuration.set(PRESCALE_PROPERTY, prescale);
-        firePropertyChange(PRESCALE_PROPERTY, oldValue, getPrescale());
+        this.firePropertyChange(PRESCALE_PROPERTY, oldValue, this.getPrescale());
     }
 
     public void setProcessingStage(final ProcessingStage processingStage) {
-        final ProcessingStage oldValue = getProcessingStage();
+        final ProcessingStage oldValue = this.getProcessingStage();
         this.configuration.set(PROCESSING_STAGE_PROPERTY, processingStage);
-        firePropertyChange(PROCESSING_STAGE_PROPERTY, oldValue, getProcessingStage());
+        this.firePropertyChange(PROCESSING_STAGE_PROPERTY, oldValue, this.getProcessingStage());
     }
 
     public void setQueueSize(final Integer queueSize) {
-        final Integer oldValue = getQueueSize();
+        final Integer oldValue = this.getQueueSize();
         this.configuration.set(QUEUE_SIZE_PROPERTY, queueSize);
-        firePropertyChange(QUEUE_SIZE_PROPERTY, oldValue, getQueueSize());
+        this.firePropertyChange(QUEUE_SIZE_PROPERTY, oldValue, this.getQueueSize());
     }
 
     public void setRecentFiles(final String recentFiles) {
@@ -442,7 +919,7 @@
             oldValue = this.configuration.get(RECENT_FILES_PROPERTY);
         }
         this.configuration.set(RECENT_FILES_PROPERTY, recentFiles);
-        firePropertyChange(RECENT_FILES_PROPERTY, oldValue, this.configuration.get(RECENT_FILES_PROPERTY));
+        this.firePropertyChange(RECENT_FILES_PROPERTY, oldValue, this.configuration.get(RECENT_FILES_PROPERTY));
     }
 
     private void setRecentFilesList(final List<String> recentFilesList) {
@@ -455,59 +932,59 @@
     }
 
     public void setStationName(final String stationName) {
-        final String oldValue = getStationName();
+        final String oldValue = this.getStationName();
         this.configuration.set(STATION_NAME_PROPERTY, stationName);
-        firePropertyChange(STATION_NAME_PROPERTY, oldValue, getStationName());
+        this.firePropertyChange(STATION_NAME_PROPERTY, oldValue, this.getStationName());
     }
 
     public void setStationPosition(final Integer stationPosition) {
-        final Integer oldValue = getStationPosition();
+        final Integer oldValue = this.getStationPosition();
         this.configuration.set(STATION_POSITION_PROPERTY, stationPosition);
-        firePropertyChange(STATION_POSITION_PROPERTY, oldValue, getStationPosition());
+        this.firePropertyChange(STATION_POSITION_PROPERTY, oldValue, this.getStationPosition());
     }
 
     public void setSteeringFile(final String steeringFile) {
-        final String oldValue = getSteeringFile();
+        final String oldValue = this.getSteeringFile();
         this.configuration.set(STEERING_FILE_PROPERTY, steeringFile);
-        firePropertyChange(STEERING_FILE_PROPERTY, oldValue, getSteeringFile());
+        this.firePropertyChange(STEERING_FILE_PROPERTY, oldValue, this.getSteeringFile());
     }
 
     public void setSteeringResource(final String steeringResource) {
-        final String oldValue = getSteeringResource();
+        final String oldValue = this.getSteeringResource();
         this.configuration.set(STEERING_RESOURCE_PROPERTY, steeringResource);
-        firePropertyChange(STEERING_RESOURCE_PROPERTY, oldValue, steeringResource);
+        this.firePropertyChange(STEERING_RESOURCE_PROPERTY, oldValue, steeringResource);
     }
 
     public void setSteeringType(final SteeringType steeringType) {
-        final SteeringType oldValue = getSteeringType();
+        final SteeringType oldValue = this.getSteeringType();
         this.configuration.set(STEERING_TYPE_PROPERTY, steeringType.name());
-        firePropertyChange(STEERING_TYPE_PROPERTY, oldValue, getSteeringType());
+        this.firePropertyChange(STEERING_TYPE_PROPERTY, oldValue, this.getSteeringType());
     }
 
     public void setUserRunNumber(final Integer userRunNumber) {
         Integer oldValue = null;
-        if (hasPropertyKey(USER_RUN_NUMBER_PROPERTY)) {
-            oldValue = getUserRunNumber();
+        if (this.hasPropertyKey(USER_RUN_NUMBER_PROPERTY)) {
+            oldValue = this.getUserRunNumber();
         }
         this.configuration.set(USER_RUN_NUMBER_PROPERTY, userRunNumber);
-        firePropertyChange(USER_RUN_NUMBER_PROPERTY, oldValue, getUserRunNumber());
+        this.firePropertyChange(USER_RUN_NUMBER_PROPERTY, oldValue, this.getUserRunNumber());
     }
 
     public void setVerbose(final Boolean verbose) {
-        final Boolean oldValue = getVerbose();
+        final Boolean oldValue = this.getVerbose();
         this.configuration.set(VERBOSE_PROPERTY, verbose);
-        firePropertyChange(VERBOSE_PROPERTY, oldValue, getVerbose());
+        this.firePropertyChange(VERBOSE_PROPERTY, oldValue, this.getVerbose());
     }
 
     public void setWaitMode(final Mode waitMode) {
-        final Mode oldValue = getWaitMode();
+        final Mode oldValue = this.getWaitMode();
         this.configuration.set(WAIT_MODE_PROPERTY, waitMode.name());
-        firePropertyChange(WAIT_MODE_PROPERTY, oldValue, getWaitMode());
+        this.firePropertyChange(WAIT_MODE_PROPERTY, oldValue, this.getWaitMode());
     }
 
     public void setWaitTime(final Integer waitTime) {
-        final Integer oldValue = getWaitTime();
+        final Integer oldValue = this.getWaitTime();
         this.configuration.set(WAIT_TIME_PROPERTY, waitTime);
-        firePropertyChange(WAIT_TIME_PROPERTY, oldValue, getWaitTime());
+        this.firePropertyChange(WAIT_TIME_PROPERTY, oldValue, this.getWaitTime());
     }
 }

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 10:40:21 2015
@@ -14,7 +14,7 @@
     public static final String CONNECTION_STATUS_PROPERTY = "ConnectionStatus";
     public static final String PAUSED_PROPERTY = "Paused";
 
-    static final String[] propertyNames = new String[] { CONNECTION_STATUS_PROPERTY, PAUSED_PROPERTY };
+    static final String[] propertyNames = new String[] {CONNECTION_STATUS_PROPERTY, PAUSED_PROPERTY};
 
     ConnectionStatus connectionStatus = ConnectionStatus.DISCONNECTED;
     boolean paused = false;
@@ -47,7 +47,7 @@
     public void setConnectionStatus(final ConnectionStatus connectionStatus) {
         final ConnectionStatus oldValue = connectionStatus;
         this.connectionStatus = connectionStatus;
-        for (final PropertyChangeListener listener : this.propertyChangeSupport.getPropertyChangeListeners()) {
+        for (final PropertyChangeListener listener : this.getPropertyChangeSupport().getPropertyChangeListeners()) {
             listener.propertyChange(new PropertyChangeEvent(this, CONNECTION_STATUS_PROPERTY, oldValue,
                     this.connectionStatus));
         }
@@ -56,7 +56,7 @@
     public void setPaused(final boolean paused) {
         final boolean oldValue = this.paused;
         this.paused = paused;
-        for (final PropertyChangeListener listener : this.propertyChangeSupport.getPropertyChangeListeners()) {
+        for (final PropertyChangeListener listener : this.getPropertyChangeSupport().getPropertyChangeListeners()) {
             listener.propertyChange(new PropertyChangeEvent(this, PAUSED_PROPERTY, oldValue, this.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 10:40:21 2015
@@ -9,14 +9,14 @@
 
     /**
      * Get the current ConfigurationModel of the object.
-     * 
+     *
      * @return The ConfigurationModel.
      */
     ConfigurationModel getConfigurationModel();
 
     /**
      * Set the ConfigurationModel of the object.
-     * 
+     *
      * @param configurationModel The ConfigurationModel.
      */
     void setConfigurationModel(ConfigurationModel configurationModel);