Author: [log in to unmask] Date: Mon Mar 2 18:40:24 2015 New Revision: 2227 Log: Making a mess on the monitoring-app branch. HPSJAVA-442 Added: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/Main.java - copied, changed from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/Main.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/AbstractFieldsPanel.java - copied, changed from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/AbstractFieldsPanel.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/Commands.java - copied, changed from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/Commands.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/ConnectionSettingsPanel.java - copied, changed from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/ConnectionSettingsPanel.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/ConnectionStatus.java - copied, changed from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/enums/ConnectionStatus.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/ConnectionStatusPanel.java - copied, changed from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/ConnectionStatusPanel.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/DataSourcePanel.java - copied, changed from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/DataSourcePanel.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/DatePanel.java - copied, changed from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/DatePanel.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/EventButtonsPanel.java - copied, changed from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/EventButtonsPanel.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/FieldPanel.java - copied, changed from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/FieldPanel.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/JobSettingsPanel.java - copied, changed from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/JobSettingsPanel.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/RunPanel.java - copied, changed from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/RunPanel.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/SettingsDialog.java - copied, changed from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/SettingsDialog.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/SettingsPanel.java - copied, changed from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/SettingsPanel.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/SteeringType.java - copied, changed from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/enums/SteeringType.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/ - copied from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/model/ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/util/ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/util/DialogUtil.java - copied, changed from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/DialogUtil.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/util/ErrorHandler.java - copied, changed from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/ErrorHandler.java Removed: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/enums/ConnectionStatus.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/enums/SteeringType.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/ Modified: java/branches/monitoring-app-HPSJAVA-442/pom.xml java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/AbstractModel.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/Configuration.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/ConfigurationModel.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/HasConfigurationModel.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/RunModel.java java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/SystemStatusTableModel.java Modified: java/branches/monitoring-app-HPSJAVA-442/pom.xml ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/pom.xml (original) +++ java/branches/monitoring-app-HPSJAVA-442/pom.xml Mon Mar 2 18:40:24 2015 @@ -31,7 +31,7 @@ <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" /> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> - <mainClass>org.hps.monitoring.gui.Main</mainClass> + <mainClass>org.hps.monitoring.Main</mainClass> </transformer> </transformers> <artifactSet> Copied: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/Main.java (from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/Main.java) ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/Main.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/Main.java Mon Mar 2 18:40:24 2015 @@ -1,8 +1,6 @@ -package org.hps.monitoring.gui; +package org.hps.monitoring; import java.io.File; - -import javax.swing.SwingUtilities; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.CommandLineParser; @@ -11,7 +9,9 @@ import org.apache.commons.cli.Options; import org.apache.commons.cli.ParseException; import org.apache.commons.cli.PosixParser; -import org.hps.monitoring.gui.model.Configuration; +import org.hps.monitoring.application.MonitoringApplication; +import org.hps.monitoring.application.model.Configuration; + /** * This is the front-end for running the monitoring app via a {@link #main(String[])} method. @@ -19,10 +19,43 @@ // FIXME: Move to org.hps.monitoring instead of gui package. public class Main { + public static void main(String[] args) { + + // Set up command line parsing. + Options options = new Options(); + options.addOption(new Option("h", false, "Print help.")); + options.addOption(new Option("c", true, "Load a properties file with configuration parameters.")); + CommandLineParser parser = new PosixParser(); + + // Parse command line arguments. + final CommandLine cl; + try { + cl = parser.parse(options, args); + } catch (ParseException e) { + throw new RuntimeException("Problem parsing command line options.", e); + } + + // Print help and exit. + if (cl.hasOption("h")) { + HelpFormatter help = new HelpFormatter(); + help.printHelp(" ", options); + System.exit(1); + } + + // Load the connection settings. + Configuration configuration = null; + if (cl.hasOption("c")) { + configuration = new Configuration(new File(cl.getOptionValue("c"))); + } + + MonitoringApplication.create(configuration); + } + /** * Run the monitoring application from the command line. * @param args The command line arguments. */ + /* public static void main(String[] args) { // Set up command line parsing. @@ -65,4 +98,5 @@ } }); } + */ } Copied: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/AbstractFieldsPanel.java (from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/AbstractFieldsPanel.java) ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/AbstractFieldsPanel.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/AbstractFieldsPanel.java Mon Mar 2 18:40:24 2015 @@ -1,4 +1,4 @@ -package org.hps.monitoring.gui; +package org.hps.monitoring.application; import java.awt.Color; import java.awt.Container; @@ -17,7 +17,7 @@ import javax.swing.JPanel; import javax.swing.JTextField; -import org.hps.monitoring.gui.model.HasConfigurationModel; +import org.hps.monitoring.application.model.HasConfigurationModel; /** * A <code>JPanel</code> which has a number of fields with the labels in the first column and the Copied: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/Commands.java (from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/Commands.java) ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/Commands.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/Commands.java Mon Mar 2 18:40:24 2015 @@ -1,10 +1,10 @@ -package org.hps.monitoring.gui; +package org.hps.monitoring.application; /** * These strings are used to identify ActionEvents in the MonitoringApplication. A few commands * handled only by sub-components are not listed here. */ -final class Commands { +public final class Commands { static final String AIDA_AUTO_SAVE = "aidaAutoSave"; static final String AIDA_AUTO_SAVE_CHANGED = "aidaAutoSaveChanged"; Copied: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/ConnectionSettingsPanel.java (from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/ConnectionSettingsPanel.java) ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/ConnectionSettingsPanel.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/ConnectionSettingsPanel.java Mon Mar 2 18:40:24 2015 @@ -1,7 +1,7 @@ -package org.hps.monitoring.gui; - -import static org.hps.monitoring.gui.Commands.*; -import static org.hps.monitoring.gui.model.ConfigurationModel.*; +package org.hps.monitoring.application; + +import static org.hps.monitoring.application.Commands.*; +import static org.hps.monitoring.application.model.ConfigurationModel.*; import java.awt.GridBagLayout; import java.awt.Insets; @@ -13,7 +13,7 @@ import javax.swing.JComboBox; import javax.swing.JTextField; -import org.hps.monitoring.gui.model.ConfigurationModel; +import org.hps.monitoring.application.model.ConfigurationModel; import org.jlab.coda.et.enums.Mode; /** Copied: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/ConnectionStatus.java (from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/enums/ConnectionStatus.java) ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/enums/ConnectionStatus.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/ConnectionStatus.java Mon Mar 2 18:40:24 2015 @@ -1,8 +1,9 @@ -package org.hps.monitoring.enums; +package org.hps.monitoring.application; /** * Status of the connection to the ET server from the monitoring client. */ +// FIXME: Just change to disconnected and connected. public enum ConnectionStatus { DISCONNECTED, DISCONNECTING, Copied: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/ConnectionStatusPanel.java (from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/ConnectionStatusPanel.java) ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/ConnectionStatusPanel.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/ConnectionStatusPanel.java Mon Mar 2 18:40:24 2015 @@ -1,4 +1,4 @@ -package org.hps.monitoring.gui; +package org.hps.monitoring.application; import java.awt.Color; import java.awt.Dimension; @@ -15,8 +15,6 @@ import javax.swing.JTextField; import javax.swing.SwingConstants; import javax.swing.SwingUtilities; - -import org.hps.monitoring.enums.ConnectionStatus; /** * This is the panel for showing the current connection status (connected, disconnected, etc.). Copied: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/DataSourcePanel.java (from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/DataSourcePanel.java) ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/DataSourcePanel.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/DataSourcePanel.java Mon Mar 2 18:40:24 2015 @@ -1,12 +1,12 @@ -package org.hps.monitoring.gui; +package org.hps.monitoring.application; -import static org.hps.monitoring.gui.Commands.CHOOSE_FILE_SOURCE; -import static org.hps.monitoring.gui.Commands.DATA_SOURCE_TYPE_CHANGED; -import static org.hps.monitoring.gui.Commands.PROCESSING_STAGE_CHANGED; -import static org.hps.monitoring.gui.Commands.VALIDATE_DATA_FILE; -import static org.hps.monitoring.gui.model.ConfigurationModel.DATA_SOURCE_PATH_PROPERTY; -import static org.hps.monitoring.gui.model.ConfigurationModel.DATA_SOURCE_TYPE_PROPERTY; -import static org.hps.monitoring.gui.model.ConfigurationModel.PROCESSING_STAGE_PROPERTY; +import static org.hps.monitoring.application.Commands.CHOOSE_FILE_SOURCE; +import static org.hps.monitoring.application.Commands.DATA_SOURCE_TYPE_CHANGED; +import static org.hps.monitoring.application.Commands.PROCESSING_STAGE_CHANGED; +import static org.hps.monitoring.application.Commands.VALIDATE_DATA_FILE; +import static org.hps.monitoring.application.model.ConfigurationModel.DATA_SOURCE_PATH_PROPERTY; +import static org.hps.monitoring.application.model.ConfigurationModel.DATA_SOURCE_TYPE_PROPERTY; +import static org.hps.monitoring.application.model.ConfigurationModel.PROCESSING_STAGE_PROPERTY; import java.awt.GridBagLayout; import java.awt.event.ActionEvent; @@ -22,7 +22,7 @@ import javax.swing.filechooser.FileFilter; import javax.swing.filechooser.FileNameExtensionFilter; -import org.hps.monitoring.gui.model.ConfigurationModel; +import org.hps.monitoring.application.model.ConfigurationModel; import org.hps.record.enums.DataSourceType; import org.hps.record.enums.ProcessingStage; Copied: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/DatePanel.java (from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/DatePanel.java) ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/DatePanel.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/DatePanel.java Mon Mar 2 18:40:24 2015 @@ -1,4 +1,4 @@ -package org.hps.monitoring.gui; +package org.hps.monitoring.application; import java.text.ParseException; import java.text.SimpleDateFormat; Copied: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/EventButtonsPanel.java (from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/EventButtonsPanel.java) ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/EventButtonsPanel.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/EventButtonsPanel.java Mon Mar 2 18:40:24 2015 @@ -1,4 +1,4 @@ -package org.hps.monitoring.gui; +package org.hps.monitoring.application; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; Copied: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/FieldPanel.java (from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/FieldPanel.java) ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/FieldPanel.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/FieldPanel.java Mon Mar 2 18:40:24 2015 @@ -1,4 +1,4 @@ -package org.hps.monitoring.gui; +package org.hps.monitoring.application; import javax.swing.BorderFactory; import javax.swing.JPanel; Copied: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/JobSettingsPanel.java (from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/JobSettingsPanel.java) ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/JobSettingsPanel.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/JobSettingsPanel.java Mon Mar 2 18:40:24 2015 @@ -1,7 +1,7 @@ -package org.hps.monitoring.gui; - -import static org.hps.monitoring.gui.Commands.*; -import static org.hps.monitoring.gui.model.ConfigurationModel.*; +package org.hps.monitoring.application; + +import static org.hps.monitoring.application.Commands.*; +import static org.hps.monitoring.application.model.ConfigurationModel.*; import java.awt.GridBagLayout; import java.awt.Insets; @@ -32,8 +32,7 @@ import javax.swing.JTextField; import javax.swing.filechooser.FileFilter; -import org.hps.monitoring.enums.SteeringType; -import org.hps.monitoring.gui.model.ConfigurationModel; +import org.hps.monitoring.application.model.ConfigurationModel; import org.hps.record.LCSimEventBuilder; import org.jdom.Document; import org.jdom.Element; Copied: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/RunPanel.java (from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/RunPanel.java) ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/RunPanel.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/RunPanel.java Mon Mar 2 18:40:24 2015 @@ -1,9 +1,20 @@ -package org.hps.monitoring.gui; - -import static org.hps.monitoring.gui.model.RunModel.*; +package org.hps.monitoring.application; + +import static org.hps.monitoring.application.model.RunModel.DATA_RATE_PROPERTY; +import static org.hps.monitoring.application.model.RunModel.DATA_RECEIVED_PROPERTY; +import static org.hps.monitoring.application.model.RunModel.ELAPSED_TIME_PROPERTY; +import static org.hps.monitoring.application.model.RunModel.END_DATE_PROPERTY; +import static org.hps.monitoring.application.model.RunModel.EVENTS_RECEIVED_PROPERTY; +import static org.hps.monitoring.application.model.RunModel.EVENT_NUMBER_PROPERTY; +import static org.hps.monitoring.application.model.RunModel.EVENT_RATE_PROPERTY; +import static org.hps.monitoring.application.model.RunModel.RUN_LENGTH_PROPERTY; +import static org.hps.monitoring.application.model.RunModel.RUN_NUMBER_PROPERTY; +import static org.hps.monitoring.application.model.RunModel.START_DATE_PROPERTY; +import static org.hps.monitoring.application.model.RunModel.TOTAL_EVENTS_PROPERTY; import java.awt.Dimension; -import java.awt.FlowLayout; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.text.DecimalFormat; @@ -17,7 +28,7 @@ import javax.swing.border.EtchedBorder; import javax.swing.border.TitledBorder; -import org.hps.monitoring.gui.model.RunModel; +import org.hps.monitoring.application.model.RunModel; import org.hps.record.composite.CompositeRecord; import org.hps.record.composite.CompositeRecordProcessor; import org.hps.record.evio.EvioEventUtilities; @@ -29,7 +40,7 @@ * Dashboard for displaying information about the current run. * @author Jeremy McCormick <[log in to unmask]> */ -class RunPanel extends JPanel implements PropertyChangeListener { +public class RunPanel extends JPanel implements PropertyChangeListener { FieldPanel runNumberField = new FieldPanel("Run Number", "", 10, false); DatePanel startDateField = new DatePanel("Run Start", "", 16, false); @@ -43,32 +54,51 @@ FieldPanel dataRateField = new FieldPanel("Data Rate [MB/s]", "", 12, false); FieldPanel eventRateField = new FieldPanel("Event Rate [evt/s]", "", 14, false); - RunModel model; + RunModel runModel; static final NumberFormat formatter = new DecimalFormat("#0.00"); - RunPanel(RunModel model) { - this.model = model; - this.model.addPropertyChangeListener(this); - - setLayout(new FlowLayout(FlowLayout.LEFT)); - - TitledBorder titledBorder = BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "Run Summary"); + public RunPanel() { + build(); + } + + public RunPanel(RunModel runModel) { + this.runModel = runModel; + this.runModel.addPropertyChangeListener(this); + build(); + } + + private void build() { + + setLayout(new GridBagLayout()); + + TitledBorder titledBorder = BorderFactory.createTitledBorder( + BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "Run Summary"); setBorder(titledBorder); - add(runNumberField); - add(startDateField); - add(endDateField); - add(lengthField); - add(totalEventsField); - add(elapsedTimeField); - add(eventsReceivedField); - add(dataReceivedField); - add(eventNumberField); - add(dataRateField); - add(eventRateField); - - this.setMinimumSize(new Dimension(0, 240)); + GridBagConstraints c = new GridBagConstraints(); + c.anchor = GridBagConstraints.WEST; + c.gridx = 0; + add(runNumberField, c); + add(startDateField, c); + add(endDateField, c); + add(lengthField, c); + add(totalEventsField, c); + + c = new GridBagConstraints(); + c.gridx = 1; + add(elapsedTimeField, c); + add(eventsReceivedField, c); + add(dataReceivedField, c); + add(eventNumberField, c); + add(dataRateField, c); + add(eventRateField, c); + + setMinimumSize(new Dimension(400, 240)); + } + + public void setModel(RunModel runModel) { + this.runModel = runModel; } class RunModelUpdater extends CompositeRecordProcessor { @@ -104,12 +134,12 @@ System.out.println("megaBytesReceived = " + megaBytesReceived); */ - model.setElapsedTime(elapsedTime); - model.setEventsReceived(totalEvents); - model.setDataRate(megaBytesReceived / tickLengthSeconds); - model.addDataReceived(megaBytesReceived); - model.setEventNumber(eventNumber); - model.setEventRate(eventsReceived / tickLengthSeconds); + runModel.setElapsedTime(elapsedTime); + runModel.setEventsReceived(totalEvents); + runModel.setDataRate(megaBytesReceived / tickLengthSeconds); + runModel.addDataReceived(megaBytesReceived); + runModel.setEventNumber(eventNumber); + runModel.setEventRate(eventsReceived / tickLengthSeconds); eventsReceived = 0; bytesReceived = 0; @@ -123,7 +153,7 @@ @Override public void startJob() { - model.reset(); + runModel.reset(); jobStartMillis = System.currentTimeMillis(); // Start the timer to update GUI components about once per second. @@ -174,8 +204,8 @@ int headBankRun = headBank.getIntData()[1]; if (headBankRun != runNumber) { runNumber = headBankRun; - model.setRunNumber(headBankRun); - model.setStartDate(new Date(headBank.getIntData()[3] * 1000)); + runModel.setRunNumber(headBankRun); + runModel.setStartDate(new Date(headBank.getIntData()[3] * 1000)); } } } @@ -189,9 +219,9 @@ long endMillis = ((long) seconds) * 1000; // Update the GUI. - model.setEndDate(new Date(endMillis)); - model.computeRunLength(); - model.setTotalEvents(eventCount); + runModel.setEndDate(new Date(endMillis)); + runModel.computeRunLength(); + runModel.setTotalEvents(eventCount); } } @@ -203,15 +233,15 @@ runNumber = data[1]; // Update the GUI. - model.setRunNumber(runNumber); - model.setStartDate(new Date(seconds * 1000)); + runModel.setRunNumber(runNumber); + runModel.setStartDate(new Date(seconds * 1000)); } } private void startRun(EventHeader lcioEvent) { - model.setRunNumber(lcioEvent.getRunNumber()); + runModel.setRunNumber(lcioEvent.getRunNumber()); long seconds = lcioEvent.getTimeStamp() / 1000000000; - model.setStartDate(new Date((int)seconds)); + runModel.setStartDate(new Date((int)seconds)); } @Override Copied: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/SettingsDialog.java (from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/SettingsDialog.java) ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/SettingsDialog.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/SettingsDialog.java Mon Mar 2 18:40:24 2015 @@ -1,19 +1,22 @@ -package org.hps.monitoring.gui; +package org.hps.monitoring.application; +import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JDialog; +import org.hps.monitoring.application.model.ConfigurationModel; + /** * The modal dialog for entering settings. It contains a <code>JPanel</code> with the different * settings sub-tabs. */ -class SettingsDialog extends JDialog { +public class SettingsDialog extends JDialog { final SettingsPanel settingsPanel = new SettingsPanel(this); - SettingsDialog() { + public SettingsDialog() { setTitle("Settings"); setContentPane(settingsPanel); @@ -29,7 +32,19 @@ }); } - SettingsPanel getSettingsPanel() { + public SettingsPanel getSettingsPanel() { return settingsPanel; } + + void addActionListener(ActionListener listener) { + settingsPanel.addActionListener(listener); + settingsPanel.getJobSettingsPanel().addActionListener(listener); + settingsPanel.getDataSourcePanel().addActionListener(listener); + } + + void setConfigurationModel(ConfigurationModel model) { + settingsPanel.getJobSettingsPanel().setConfigurationModel(model); + settingsPanel.getConnectionPanel().setConfigurationModel(model); + settingsPanel.getDataSourcePanel().setConfigurationModel(model); + } } Copied: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/SettingsPanel.java (from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/SettingsPanel.java) ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/SettingsPanel.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/SettingsPanel.java Mon Mar 2 18:40:24 2015 @@ -1,4 +1,4 @@ -package org.hps.monitoring.gui; +package org.hps.monitoring.application; import java.awt.Dimension; import java.awt.FlowLayout; @@ -15,7 +15,7 @@ /** * The container component with the tabs that have job and connection settings. */ -class SettingsPanel extends JPanel implements ActionListener { +public class SettingsPanel extends JPanel implements ActionListener { JTabbedPane tabs; JobSettingsPanel jobPanel = new JobSettingsPanel(); Copied: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/SteeringType.java (from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/enums/SteeringType.java) ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/enums/SteeringType.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/SteeringType.java Mon Mar 2 18:40:24 2015 @@ -1,4 +1,4 @@ -package org.hps.monitoring.enums; +package org.hps.monitoring.application; /** * The type of steering to use for event processing. Modified: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/AbstractModel.java ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/AbstractModel.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/AbstractModel.java Mon Mar 2 18:40:24 2015 @@ -1,4 +1,4 @@ -package org.hps.monitoring.gui.model; +package org.hps.monitoring.application.model; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; Modified: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/Configuration.java ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/Configuration.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/Configuration.java Mon Mar 2 18:40:24 2015 @@ -1,4 +1,4 @@ -package org.hps.monitoring.gui.model; +package org.hps.monitoring.application.model; import java.io.File; import java.io.FileInputStream; @@ -10,7 +10,7 @@ /** * This class provides a list of key, value pairs backed by a <code>Properties</code> object. The * getter and setter methods for these values are not public, because the - * {@link org.hps.monitoring.gui.model.ConfigurationModel} class should be used instead + * {@link org.hps.monitoring.application.model.ConfigurationModel} class should be used instead * to get or set application configuration values. */ public final class Configuration { Modified: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/ConfigurationModel.java ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/ConfigurationModel.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/ConfigurationModel.java Mon Mar 2 18:40:24 2015 @@ -1,4 +1,4 @@ -package org.hps.monitoring.gui.model; +package org.hps.monitoring.application.model; import java.io.File; import java.lang.reflect.Field; @@ -6,7 +6,7 @@ import javassist.Modifier; -import org.hps.monitoring.enums.SteeringType; +import org.hps.monitoring.application.SteeringType; import org.hps.record.enums.DataSourceType; import org.hps.record.enums.ProcessingStage; import org.jlab.coda.et.enums.Mode; Modified: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/HasConfigurationModel.java ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/HasConfigurationModel.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/HasConfigurationModel.java Mon Mar 2 18:40:24 2015 @@ -1,4 +1,4 @@ -package org.hps.monitoring.gui.model; +package org.hps.monitoring.application.model; /** * Mixin interface for classes that have an associated {@link ConfigurationModel}. Modified: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/RunModel.java ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/RunModel.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/RunModel.java Mon Mar 2 18:40:24 2015 @@ -1,9 +1,9 @@ -package org.hps.monitoring.gui.model; +package org.hps.monitoring.application.model; import java.util.Date; /** - * Backing model for run information that shows in the {@link org.hps.monitoring.gui.RunPanel}. + * Backing model for run information that shows in the {@link org.hps.monitoring.application.RunPanel}. */ public final class RunModel extends AbstractModel { Modified: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/SystemStatusTableModel.java ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/SystemStatusTableModel.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/model/SystemStatusTableModel.java Mon Mar 2 18:40:24 2015 @@ -1,4 +1,4 @@ -package org.hps.monitoring.gui.model; +package org.hps.monitoring.application.model; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; Copied: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/util/DialogUtil.java (from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/DialogUtil.java) ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/DialogUtil.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/util/DialogUtil.java Mon Mar 2 18:40:24 2015 @@ -1,17 +1,16 @@ -package org.hps.monitoring.gui; +package org.hps.monitoring.application.util; import java.awt.Component; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; -import javax.swing.JComponent; import javax.swing.JDialog; import javax.swing.JOptionPane; import javax.swing.SwingUtilities; -class DialogUtil { +public class DialogUtil { - static JDialog showStatusDialog(final Component parentComponent, String title, String message) { + public static JDialog showStatusDialog(final Component parentComponent, String title, String message) { final JOptionPane optionPane = new JOptionPane(message, JOptionPane.INFORMATION_MESSAGE, JOptionPane.DEFAULT_OPTION, null, new Object[] {}, null); final JDialog dialog = new JDialog(); dialog.setContentPane(optionPane); @@ -33,7 +32,7 @@ return dialog; } - static void showErrorDialog(final Component component, final Throwable error, final String title) { + public static void showErrorDialog(final Component component, final Throwable error, final String title) { final Runnable runnable = new Runnable() { public void run() { JOptionPane.showMessageDialog(component, error.getMessage(), title, JOptionPane.ERROR_MESSAGE); @@ -42,7 +41,7 @@ SwingUtilities.invokeLater(runnable); } - static void showInfoDialog(final Component component, final String title, final String message) { + public static void showInfoDialog(final Component component, final String title, final String message) { final Runnable runnable = new Runnable() { public void run() { JOptionPane.showMessageDialog(component, message, title, JOptionPane.INFORMATION_MESSAGE); Copied: java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/util/ErrorHandler.java (from r2225, java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/ErrorHandler.java) ============================================================================= --- java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/gui/ErrorHandler.java (original) +++ java/branches/monitoring-app-HPSJAVA-442/src/main/java/org/hps/monitoring/application/util/ErrorHandler.java Mon Mar 2 18:40:24 2015 @@ -1,4 +1,4 @@ -package org.hps.monitoring.gui; +package org.hps.monitoring.application.util; import java.awt.Component; import java.util.logging.Level; @@ -24,7 +24,7 @@ * chained, where appropriate. Some methods are not available for chaining when it doesn't make * sense. </p> */ -class ErrorHandler { +public class ErrorHandler { Logger logger; Component component; @@ -36,7 +36,7 @@ * @param component The GUI component to which this object is assigned. * @param logger The logger to which messages will be written. */ - ErrorHandler(Component component, Logger logger) { + public ErrorHandler(Component component, Logger logger) { this.logger = logger; this.component = component; } @@ -46,7 +46,7 @@ * @param error The error which is a <code>Throwable</code>. * @return This object. */ - ErrorHandler setError(Throwable error) { + public ErrorHandler setError(Throwable error) { this.error = error; this.message = error.getMessage(); return this; @@ -57,7 +57,7 @@ * @param message The erro message. * @return This object. */ - ErrorHandler setMessage(String message) { + public ErrorHandler setMessage(String message) { this.message = message; return this; } @@ -66,7 +66,7 @@ * Print the full stack trace of the error to System.err. * @return This object. */ - ErrorHandler printStackTrace() { + public ErrorHandler printStackTrace() { error.printStackTrace(); return this; } @@ -75,7 +75,7 @@ * Print the error message to System.err. * @return This object. */ - ErrorHandler printMessage() { + public ErrorHandler printMessage() { System.err.println(message); return this; } @@ -84,7 +84,7 @@ * Log the error message to the <code>Logger</code>. * @return This object. */ - ErrorHandler log() { + public ErrorHandler log() { logger.log(Level.SEVERE, message); return this; } @@ -93,7 +93,7 @@ * Show an error dialog with the message. * @return This object. */ - ErrorHandler showErrorDialog() { + public ErrorHandler showErrorDialog() { final Runnable runnable = new Runnable() { public void run() { JOptionPane.showMessageDialog(component, error.getMessage(), "Application Error", JOptionPane.ERROR_MESSAGE); @@ -107,14 +107,14 @@ * Rethrow the error as a <code>RuntimeException</code>. Additional methods cannot be chained to * this as they would not be executed. */ - void raiseException() { + public void raiseException() { throw new RuntimeException(message, error); } /** * Exit the application. This is not chainable for obvious reasons. */ - void exit() { + public void exit() { System.err.println("Fatal error. Application will exit."); System.exit(1); }