Author: [log in to unmask]
Date: Tue Mar 10 19:29:56 2015
New Revision: 2400
Log:
Add support for embedded remote AIDA server so plots are viewable in JAS3 Remote AIDA plugin.
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/JobSettingsPanel.java
java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/MenuBar.java
java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConfigurationModel.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 Tue Mar 10 19:29:56 2015
@@ -49,6 +49,9 @@
static final String CONDITIONS_TAG_CHANGED = "conditionsTagChanged";
+ static final String START_AIDA_SERVER = "startAIDAServer";
+ static final String STOP_AIDA_SERVER = "stopAIDAServer";
+
////////////////////////////////////////////
static final String BLOCKING_CHANGED = "blockingChanged";
static final String CHOOSE_COMPACT_FILE = "chooseCompactFile";
Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/JobSettingsPanel.java
=============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/JobSettingsPanel.java (original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/JobSettingsPanel.java Tue Mar 10 19:29:56 2015
@@ -1,7 +1,4 @@
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;
@@ -21,10 +18,10 @@
import javax.swing.border.EmptyBorder;
import javax.swing.filechooser.FileFilter;
-import org.hps.conditions.database.DatabaseConditionsManager;
import org.hps.monitoring.application.model.ConfigurationModel;
import org.hps.monitoring.application.model.SteeringType;
import org.hps.monitoring.application.util.ResourceUtil;
+import org.hps.record.enums.ProcessingStage;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
@@ -34,11 +31,13 @@
* This is the GUI panel for setting job parameters. It is connected to the global configuration via
* a {@link org.hps.monitoring.model.ConfigurationModel} object.
*/
+// FIXME: Combo boxes should use explicit types.
class JobSettingsPanel extends AbstractFieldsPanel {
private JComboBox<?> steeringResourcesComboBox;
private JTextField steeringFileField;
private JComboBox<?> steeringTypeComboBox;
+ private JComboBox<ProcessingStage> processingStageComboBox;
private JComboBox<String> detectorNameComboBox;
private JTextField detectorAliasField;
private JComboBox<String> conditionsTagComboBox;
@@ -51,6 +50,7 @@
private JComboBox<?> logLevelComboBox;
private JCheckBox logToFileCheckbox;
private JTextField logFileNameField;
+ private JTextField aidaServerNameField;
// The package where steering resources must be located.
static final String STEERING_PACKAGE = "org/hps/steering/monitoring/";
@@ -76,13 +76,14 @@
super(new Insets(5, 3, 3, 5), true);
setBorder(new EmptyBorder(10, 10, 10, 10));
-
+
+ setLayout(new GridBagLayout());
+
+ // Listen on changes to the configuration which will then be automatically pushed to the GUI.
model.addPropertyChangeListener(this);
-
- setLayout(new GridBagLayout());
steeringResourcesComboBox = addComboBoxMultiline("Steering File Resource", ResourceUtil.findSteeringResources(STEERING_PACKAGE));
- steeringResourcesComboBox.setActionCommand(STEERING_RESOURCE_CHANGED);
+ steeringResourcesComboBox.setActionCommand(Commands.STEERING_RESOURCE_CHANGED);
steeringResourcesComboBox.addActionListener(this);
steeringFileField = addField("Steering File", 50);
@@ -93,15 +94,20 @@
steeringFileButton.addActionListener(this);
steeringTypeComboBox = addComboBox("Steering Type", new String[] { SteeringType.RESOURCE.name(), SteeringType.FILE.name() });
- steeringTypeComboBox.setActionCommand(STEERING_TYPE_CHANGED);
+ steeringTypeComboBox.setActionCommand(Commands.STEERING_TYPE_CHANGED);
steeringTypeComboBox.addActionListener(this);
+ processingStageComboBox = new JComboBox<ProcessingStage>(ProcessingStage.values());
+ addComponent("Processing Stage", processingStageComboBox);
+ processingStageComboBox.setActionCommand(Commands.PROCESSING_STAGE_CHANGED);
+ processingStageComboBox.addActionListener(this);
+
detectorNameComboBox = addComboBox("Detector Name", ResourceUtil.findDetectorNames());
- detectorNameComboBox.setActionCommand(DETECTOR_NAME_CHANGED);
+ detectorNameComboBox.setActionCommand(Commands.DETECTOR_NAME_CHANGED);
detectorNameComboBox.addActionListener(this);
detectorAliasField = addField("Detector Resources Directory", "", 35, true);
- detectorAliasField.setActionCommand(DETECTOR_ALIAS_CHANGED);
+ detectorAliasField.setActionCommand(Commands.DETECTOR_ALIAS_CHANGED);
detectorAliasField.addPropertyChangeListener("value", this);
detectorAliasField.addActionListener(this);
@@ -111,21 +117,21 @@
userRunNumberField = addField("User Run Number", "", 10, true);
userRunNumberField.addPropertyChangeListener("value", this);
- userRunNumberField.setActionCommand(USER_RUN_NUMBER_CHANGED);
+ userRunNumberField.setActionCommand(Commands.USER_RUN_NUMBER_CHANGED);
userRunNumberField.setEnabled(true);
userRunNumberField.setEditable(true);
conditionsTagComboBox = addComboBox("Conditions Tag", ResourceUtil.getConditionsTags());
conditionsTagComboBox.addItem("");
conditionsTagComboBox.setSelectedItem("");
- conditionsTagComboBox.setActionCommand(CONDITIONS_TAG_CHANGED);
+ conditionsTagComboBox.setActionCommand(Commands.CONDITIONS_TAG_CHANGED);
conditionsTagComboBox.addActionListener(this);
conditionsTagComboBox.setEditable(false);
conditionsTagComboBox.setEnabled(true);
freezeConditionsCheckBox = addCheckBox("Freeze detector conditions", false, true);
freezeConditionsCheckBox.addActionListener(this);
- freezeConditionsCheckBox.setActionCommand(FREEZE_CONDITIONS_CHANGED);
+ freezeConditionsCheckBox.setActionCommand(Commands.FREEZE_CONDITIONS_CHANGED);
maxEventsField = addField("Max Events", "-1", 10, false);
maxEventsField.addPropertyChangeListener("value", this);
@@ -134,15 +140,15 @@
eventBuilderComboBox = addComboBox("LCSim Event Builder", ResourceUtil.findEventBuilderClassNames());
eventBuilderComboBox.setSize(24, eventBuilderComboBox.getPreferredSize().height);
- eventBuilderComboBox.setActionCommand(EVENT_BUILDER_CHANGED);
+ eventBuilderComboBox.setActionCommand(Commands.EVENT_BUILDER_CHANGED);
eventBuilderComboBox.addActionListener(this);
disconnectOnErrorCheckBox = addCheckBox("Disconnect on error", false, true);
- disconnectOnErrorCheckBox.setActionCommand(DISCONNECT_ON_ERROR_CHANGED);
+ disconnectOnErrorCheckBox.setActionCommand(Commands.DISCONNECT_ON_ERROR_CHANGED);
disconnectOnErrorCheckBox.addActionListener(this);
disconnectOnEndRunCheckBox = addCheckBox("Disconnect on end run", false, true);
- disconnectOnEndRunCheckBox.setActionCommand(DISCONNECT_ON_END_RUN_CHANGED);
+ disconnectOnEndRunCheckBox.setActionCommand(Commands.DISCONNECT_ON_END_RUN_CHANGED);
disconnectOnEndRunCheckBox.addActionListener(this);
logLevelComboBox = addComboBox("Log Level", LOG_LEVELS);
@@ -152,8 +158,11 @@
logToFileCheckbox = addCheckBox("Log to File", false, false);
logToFileCheckbox.setEnabled(false);
- logFileNameField = addField("Log File Name", "", "Full path to log file.", 50, false);
+ logFileNameField = addField("Log File Name", "", "Full path to log file", 50, false);
logFileNameField.setEditable(false);
+
+ aidaServerNameField = addField("AIDA Server Name", "", "Name of AIDA server", 30, true);
+ aidaServerNameField.addPropertyChangeListener("value", this);
}
@Override
@@ -248,39 +257,42 @@
public void actionPerformed(ActionEvent event) {
try {
configurationModel.removePropertyChangeListener(this);
+ String command = event.getActionCommand();
if (event.getActionCommand().equals(Commands.CHOOSE_STEERING_FILE)) {
chooseSteeringFile();
} else if (event.getActionCommand().equals(Commands.CHOOSE_COMPACT_FILE)) {
chooseCompactFile();
- } else if (DISCONNECT_ON_ERROR_CHANGED.equals(event.getActionCommand())) {
+ } else if (Commands.DISCONNECT_ON_ERROR_CHANGED.equals(command)) {
configurationModel.setDisconnectOnError(disconnectOnErrorCheckBox.isSelected());
- } else if (DISCONNECT_ON_END_RUN_CHANGED.equals(event.getActionCommand())) {
+ } else if (Commands.DISCONNECT_ON_END_RUN_CHANGED.equals(command)) {
configurationModel.setDisconnectOnEndRun(disconnectOnEndRunCheckBox.isSelected());
- } else if (STEERING_TYPE_CHANGED.equals(event.getActionCommand())) {
+ } else if (Commands.STEERING_TYPE_CHANGED.equals(command)) {
configurationModel.setSteeringType(SteeringType.valueOf((String) steeringTypeComboBox.getSelectedItem()));
- } else if (STEERING_RESOURCE_CHANGED.equals(event.getActionCommand())) {
+ } else if (Commands.STEERING_RESOURCE_CHANGED.equals(command)) {
configurationModel.setSteeringResource((String) steeringResourcesComboBox.getSelectedItem());
- } else if (LOG_LEVEL_CHANGED.equals(event.getActionCommand())) {
+ } else if (Commands.LOG_LEVEL_CHANGED.equals(command)) {
configurationModel.setLogLevel(Level.parse((String) logLevelComboBox.getSelectedItem()));
- } else if (EVENT_BUILDER_CHANGED.equals(event.getActionCommand())) {
+ } else if (Commands.EVENT_BUILDER_CHANGED.equals(command)) {
configurationModel.setEventBuilderClassName((String) eventBuilderComboBox.getSelectedItem());
- } else if (DETECTOR_NAME_CHANGED.equals(event.getActionCommand())) {
+ } else if (Commands.DETECTOR_NAME_CHANGED.equals(command)) {
try {
configurationModel.setDetectorName((String) detectorNameComboBox.getSelectedItem());
} catch (Exception exception) {
exception.printStackTrace();
}
- } else if (FREEZE_CONDITIONS_CHANGED.equals(event.getActionCommand())) {
- if (configurationModel.hasPropertyKey(USER_RUN_NUMBER_PROPERTY) && configurationModel.getUserRunNumber() != null) {
+ } else if (Commands.FREEZE_CONDITIONS_CHANGED.equals(command)) {
+ if (configurationModel.hasPropertyKey(ConfigurationModel.USER_RUN_NUMBER_PROPERTY) && configurationModel.getUserRunNumber() != null) {
configurationModel.setFreezeConditions(freezeConditionsCheckBox.isSelected());
} else {
throw new IllegalArgumentException("Conditions system may only be frozen if there is a valid user run number.");
}
- } else if (DETECTOR_ALIAS_CHANGED.equals(event.getActionCommand())) {
+ } else if (Commands.DETECTOR_ALIAS_CHANGED.equals(command)) {
configurationModel.setDetectorName(detectorAliasField.getText());
- } else if (CONDITIONS_TAG_CHANGED.equals(event.getActionCommand())) {
+ } else if (Commands.CONDITIONS_TAG_CHANGED.equals(command)) {
configurationModel.setConditionsTag((String) conditionsTagComboBox.getSelectedItem());
- }
+ } else if (Commands.PROCESSING_STAGE_CHANGED.equals(command)) {
+ configurationModel.setProcessingStage((ProcessingStage) processingStageComboBox.getSelectedItem());
+ }
} finally {
configurationModel.addPropertyChangeListener(this);
}
@@ -318,6 +330,8 @@
} else if (source == maxEventsField) {
configurationModel.setMaxEvents(Long.parseLong(maxEventsField.getText()));
//System.out.println("setMaxEvents - " + configurationModel.getMaxEvents());
+ } else if (source == aidaServerNameField) {
+ configurationModel.setAIDAServerName(aidaServerNameField.getText());
} else if (evt.getPropertyName().equals(ConfigurationModel.LOG_TO_FILE_PROPERTY)) {
// This is getting the log to file prop change from the ConfigurationModel to update a read only component.
Boolean logToFile = (Boolean) evt.getNewValue();
@@ -334,7 +348,7 @@
}
} else if (evt.getPropertyName().equals(ConfigurationModel.CONDITIONS_TAG_PROPERTY)) {
conditionsTagComboBox.setSelectedItem(evt.getNewValue());
- }
+ }
} finally {
configurationModel.addPropertyChangeListener(this);
}
@@ -349,49 +363,54 @@
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getSource() instanceof ConfigurationModel) {
Object value = evt.getNewValue();
+ String property = evt.getPropertyName();
configurationModel.removePropertyChangeListener(this);
try {
- if (evt.getPropertyName().equals(DETECTOR_NAME_PROPERTY)) {
+ if (property.equals(ConfigurationModel.DETECTOR_NAME_PROPERTY)) {
detectorNameComboBox.setSelectedItem((String) value);
- } else if (evt.getPropertyName().equals(DETECTOR_ALIAS_PROPERTY)) {
+ } else if (property.equals(ConfigurationModel.DETECTOR_ALIAS_PROPERTY)) {
detectorAliasField.setText((String) value);
- } else if (evt.getPropertyName().equals(DISCONNECT_ON_ERROR_PROPERTY)) {
+ } else if (property.equals(ConfigurationModel.DISCONNECT_ON_ERROR_PROPERTY)) {
disconnectOnErrorCheckBox.setSelected((Boolean) value);
- } else if (evt.getPropertyName().equals(DISCONNECT_ON_END_RUN_PROPERTY)) {
+ } else if (property.equals(ConfigurationModel.DISCONNECT_ON_END_RUN_PROPERTY)) {
disconnectOnEndRunCheckBox.setSelected((Boolean) value);
- } else if (evt.getPropertyName().equals(EVENT_BUILDER_PROPERTY)) {
+ } else if (property.equals(ConfigurationModel.EVENT_BUILDER_PROPERTY)) {
eventBuilderComboBox.setSelectedItem((String) value);
- } else if (evt.getPropertyName().equals(LOG_FILE_NAME_PROPERTY)) {
+ } else if (property.equals(ConfigurationModel.LOG_FILE_NAME_PROPERTY)) {
logFileNameField.setText((String) value);
- } else if (evt.getPropertyName().equals(LOG_LEVEL_PROPERTY)) {
+ } else if (property.equals(ConfigurationModel.LOG_LEVEL_PROPERTY)) {
logLevelComboBox.setSelectedItem(value.toString());
- } else if (evt.getPropertyName().equals(LOG_TO_FILE_PROPERTY)) {
+ } else if (property.equals(ConfigurationModel.LOG_TO_FILE_PROPERTY)) {
logToFileCheckbox.setSelected((Boolean) value);
- } else if (evt.getPropertyName().equals(STEERING_TYPE_PROPERTY)) {
+ } else if (property.equals(ConfigurationModel.STEERING_TYPE_PROPERTY)) {
steeringTypeComboBox.setSelectedIndex(((SteeringType) value).ordinal());
- } else if (evt.getPropertyName().equals(STEERING_FILE_PROPERTY)) {
+ } else if (property.equals(ConfigurationModel.STEERING_FILE_PROPERTY)) {
if (value != null) {
steeringFileField.setText((String) evt.getNewValue());
} else {
// A null value here is actually okay and means this field should be reset to have no value.
steeringFileField.setText(null);
}
- } else if (evt.getPropertyName().equals(STEERING_RESOURCE_PROPERTY)) {
+ } else if (property.equals(ConfigurationModel.STEERING_RESOURCE_PROPERTY)) {
steeringResourcesComboBox.setSelectedItem(value);
- } else if (evt.getPropertyName().equals(USER_RUN_NUMBER_PROPERTY)) {
+ } else if (property.equals(ConfigurationModel.USER_RUN_NUMBER_PROPERTY)) {
if (value != null) {
userRunNumberField.setText(Integer.toString((int) value));
} else {
userRunNumberField.setText(null);
}
- } else if (evt.getPropertyName().equals(FREEZE_CONDITIONS_PROPERTY)) {
+ } else if (property.equals(ConfigurationModel.FREEZE_CONDITIONS_PROPERTY)) {
if (value != null) {
freezeConditionsCheckBox.setSelected((Boolean) value);
}
- } else if (evt.getPropertyName().equals(MAX_EVENTS_PROPERTY)) {
+ } else if (property.equals(ConfigurationModel.MAX_EVENTS_PROPERTY)) {
if (value != null) {
maxEventsField.setText(value.toString());
}
+ } else if (property.equals(ConfigurationModel.PROCESSING_STAGE_PROPERTY)) {
+ processingStageComboBox.setSelectedItem(evt.getNewValue());
+ } else if (property.equals(ConfigurationModel.AIDA_SERVER_NAME_PROPERTY)) {
+ aidaServerNameField.setText((String) evt.getNewValue());
}
} finally {
configurationModel.addPropertyChangeListener(this);
Modified: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/MenuBar.java
=============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/MenuBar.java (original)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/MenuBar.java Tue Mar 10 19:29:56 2015
@@ -1,18 +1,4 @@
package org.hps.monitoring.application;
-
-import static org.hps.monitoring.application.Commands.EXIT;
-import static org.hps.monitoring.application.Commands.CLOSE_FILE;
-import static org.hps.monitoring.application.Commands.OPEN_FILE;
-import static org.hps.monitoring.application.Commands.CLEAR_PLOTS;
-import static org.hps.monitoring.application.Commands.SAVE_PLOTS;
-import static org.hps.monitoring.application.Commands.LOAD_SETTINGS;
-import static org.hps.monitoring.application.Commands.LOAD_DEFAULT_SETTINGS;
-import static org.hps.monitoring.application.Commands.SAVE_SCREENSHOT;
-import static org.hps.monitoring.application.Commands.SAVE_SETTINGS;
-import static org.hps.monitoring.application.Commands.SHOW_SETTINGS;
-import static org.hps.monitoring.application.Commands.DEFAULT_WINDOW;
-import static org.hps.monitoring.application.Commands.MAXIMIZE_WINDOW;
-import static org.hps.monitoring.application.Commands.MINIMIZE_WINDOW;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -40,6 +26,7 @@
JMenuItem openFileItem;
JMenu settingsMenu;
JMenuItem logItem;
+ JMenuItem serverItem;
ConfigurationModel configurationModel;
MenuBar(ConfigurationModel configurationModel, ConnectionStatusModel connectionModel, ActionListener listener) {
@@ -56,21 +43,21 @@
openFileItem = new JMenuItem("Open File ...");
openFileItem.setMnemonic(KeyEvent.VK_P);
- openFileItem.setActionCommand(OPEN_FILE);
+ openFileItem.setActionCommand(Commands.OPEN_FILE);
openFileItem.addActionListener(listener);
openFileItem.setToolTipText("Open an EVIO or LCIO data file");
fileMenu.add(openFileItem);
closeFileItem = new JMenuItem("Close File");
closeFileItem.setMnemonic(KeyEvent.VK_C);
- closeFileItem.setActionCommand(CLOSE_FILE);
+ closeFileItem.setActionCommand(Commands.CLOSE_FILE);
closeFileItem.addActionListener(listener);
closeFileItem.setToolTipText("Close the current file data source");
fileMenu.add(closeFileItem);
JMenuItem exitItem = new JMenuItem("Exit");
exitItem.setMnemonic(KeyEvent.VK_X);
- exitItem.setActionCommand(EXIT);
+ exitItem.setActionCommand(Commands.EXIT);
exitItem.addActionListener(listener);
exitItem.setToolTipText("Exit from the application");
fileMenu.add(exitItem);
@@ -81,7 +68,7 @@
JMenuItem settingsItem = new JMenuItem("Open Settings Window ...");
settingsItem.setMnemonic(KeyEvent.VK_O);
- settingsItem.setActionCommand(SHOW_SETTINGS);
+ settingsItem.setActionCommand(Commands.SHOW_SETTINGS);
settingsItem.addActionListener(listener);
settingsItem.setToolTipText("Show settings dialog");
settingsMenu.add(settingsItem);
@@ -89,21 +76,21 @@
JMenuItem loadConfigItem = new JMenuItem("Load Settings ...");
loadConfigItem.addActionListener(listener);
loadConfigItem.setMnemonic(KeyEvent.VK_L);
- loadConfigItem.setActionCommand(LOAD_SETTINGS);
+ loadConfigItem.setActionCommand(Commands.LOAD_SETTINGS);
loadConfigItem.setToolTipText("Load settings from a properties file");
settingsMenu.add(loadConfigItem);
JMenuItem saveConfigItem = new JMenuItem("Save Settings ...");
saveConfigItem.addActionListener(listener);
saveConfigItem.setMnemonic(KeyEvent.VK_S);
- saveConfigItem.setActionCommand(SAVE_SETTINGS);
+ saveConfigItem.setActionCommand(Commands.SAVE_SETTINGS);
saveConfigItem.setToolTipText("Save configuration to a properties file");
settingsMenu.add(saveConfigItem);
JMenuItem defaultSettingsItem = new JMenuItem("Load Default Settings");
defaultSettingsItem.addActionListener(listener);
defaultSettingsItem.setMnemonic(KeyEvent.VK_D);
- defaultSettingsItem.setActionCommand(LOAD_DEFAULT_SETTINGS);
+ defaultSettingsItem.setActionCommand(Commands.LOAD_DEFAULT_SETTINGS);
defaultSettingsItem.setToolTipText("Load the default settings");
settingsMenu.add(defaultSettingsItem);
@@ -113,7 +100,7 @@
JMenuItem savePlotsItem = new JMenuItem("Save Plots ...");
savePlotsItem.setMnemonic(KeyEvent.VK_S);
- savePlotsItem.setActionCommand(SAVE_PLOTS);
+ savePlotsItem.setActionCommand(Commands.SAVE_PLOTS);
savePlotsItem.addActionListener(listener);
savePlotsItem.setEnabled(true);
savePlotsItem.setToolTipText("Save plots to AIDA file");
@@ -121,7 +108,7 @@
JMenuItem clearPlotsItem = new JMenuItem("Clear plots");
clearPlotsItem.setMnemonic(KeyEvent.VK_C);
- clearPlotsItem.setActionCommand(CLEAR_PLOTS);
+ clearPlotsItem.setActionCommand(Commands.CLEAR_PLOTS);
clearPlotsItem.addActionListener(listener);
clearPlotsItem.setEnabled(true);
clearPlotsItem.setToolTipText("Clear the AIDA plots");
@@ -133,7 +120,7 @@
JMenuItem screenshotItem = new JMenuItem("Save Screenshot ...");
screenshotItem.setMnemonic(KeyEvent.VK_S);
- screenshotItem.setActionCommand(SAVE_SCREENSHOT);
+ screenshotItem.setActionCommand(Commands.SAVE_SCREENSHOT);
screenshotItem.addActionListener(listener);
screenshotItem.setEnabled(true);
screenshotItem.setToolTipText("Save a screenshot to a graphics file");
@@ -147,13 +134,21 @@
logItem.setToolTipText("Redirect System.out to a file instead of terminal");
toolsMenu.add(logItem);
+ serverItem = new JMenuItem("Start AIDA Server ...");
+ serverItem.setMnemonic(KeyEvent.VK_A);
+ serverItem.setActionCommand(Commands.START_AIDA_SERVER);
+ serverItem.setEnabled(true);
+ serverItem.setToolTipText("Start AIDA RMI Server");
+ serverItem.addActionListener(listener);
+ toolsMenu.add(serverItem);
+
JMenu windowMenu = new JMenu("Window");
windowMenu.setMnemonic(KeyEvent.VK_W);
add(windowMenu);
JMenuItem maximizeItem = new JMenuItem("Maximize");
maximizeItem.setMnemonic(KeyEvent.VK_M);
- maximizeItem.setActionCommand(MAXIMIZE_WINDOW);
+ maximizeItem.setActionCommand(Commands.MAXIMIZE_WINDOW);
maximizeItem.addActionListener(listener);
maximizeItem.setEnabled(true);
maximizeItem.setToolTipText("Maximize the application window");
@@ -161,7 +156,7 @@
JMenuItem minimizeItem = new JMenuItem("Minimize");
minimizeItem.setMnemonic(KeyEvent.VK_I);
- minimizeItem.setActionCommand(MINIMIZE_WINDOW);
+ minimizeItem.setActionCommand(Commands.MINIMIZE_WINDOW);
minimizeItem.addActionListener(listener);
minimizeItem.setEnabled(true);
minimizeItem.setToolTipText("Minimize the application window");
@@ -169,7 +164,7 @@
JMenuItem defaultsItem = new JMenuItem("Restore Defaults");
defaultsItem.setMnemonic(KeyEvent.VK_D);
- defaultsItem.setActionCommand(DEFAULT_WINDOW);
+ defaultsItem.setActionCommand(Commands.DEFAULT_WINDOW);
defaultsItem.addActionListener(listener);
defaultsItem.setEnabled(true);
defaultsItem.setToolTipText("Restore the window defaults");
@@ -214,4 +209,16 @@
}
}
}
+
+ void startAIDAServer() {
+ serverItem.setActionCommand(Commands.STOP_AIDA_SERVER);
+ serverItem.setText("Stop AIDA Server");
+ serverItem.setToolTipText("Stop the remote AIDA server");
+ }
+
+ void stopAIDAServer() {
+ serverItem.setActionCommand(Commands.START_AIDA_SERVER);
+ serverItem.setText("Start AIDA Server");
+ serverItem.setToolTipText("Start the remote AIDA server");
+ }
}
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 Tue Mar 10 19:29:56 2015
@@ -1,6 +1,5 @@
package org.hps.monitoring.application.model;
-import java.io.File;
import java.util.logging.Level;
import org.hps.record.enums.DataSourceType;
@@ -16,6 +15,7 @@
Configuration configuration;
// Job setting properties.
+ public static final String AIDA_SERVER_NAME_PROPERTY = "AIDAServerName";
public static final String CONDITIONS_TAG_PROPERTY = "ConditionsTag";
public static final String DETECTOR_NAME_PROPERTY = "DetectorName";
public static final String DETECTOR_ALIAS_PROPERTY = "DetectorAlias";
@@ -399,6 +399,16 @@
public String getConditionsTag() {
return configuration.get(CONDITIONS_TAG_PROPERTY);
}
+
+ public void setAIDAServerName(String AIDAServerName) {
+ String oldValue = getAIDAServerName();
+ configuration.set(AIDA_SERVER_NAME_PROPERTY, AIDAServerName);
+ firePropertyChange(AIDA_SERVER_NAME_PROPERTY, oldValue, getAIDAServerName());
+ }
+
+ public String getAIDAServerName() {
+ return configuration.get(AIDA_SERVER_NAME_PROPERTY);
+ }
public void remove(String property) {
if (hasPropertyKey(property)) {
|