Author: [log in to unmask]
Date: Fri Mar 6 21:55:35 2015
New Revision: 2322
Log:
Add listener for notification when configuration is reset.
Added:
java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConfigurationListener.java
Modified:
java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConfigurationModel.java
Added: java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConfigurationListener.java
=============================================================================
--- java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConfigurationListener.java (added)
+++ java/trunk/monitoring-app/src/main/java/org/hps/monitoring/application/model/ConfigurationListener.java Fri Mar 6 21:55:35 2015
@@ -0,0 +1,6 @@
+package org.hps.monitoring.application.model;
+
+public interface ConfigurationListener {
+
+ public void configurationChanged(ConfigurationModel model);
+}
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 Fri Mar 6 21:55:35 2015
@@ -1,6 +1,5 @@
package org.hps.monitoring.application.model;
-import java.awt.event.ActionListener;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
@@ -17,6 +16,8 @@
public final class ConfigurationModel extends AbstractModel {
Configuration configuration;
+
+ List<ConfigurationListener> listeners = new ArrayList<ConfigurationListener>();
// Job setting properties.
public static final String DETECTOR_NAME_PROPERTY = "DetectorName";
@@ -53,6 +54,9 @@
public static final String WAIT_MODE_PROPERTY = "WaitMode";
public static final String WAIT_TIME_PROPERTY = "WaitTime";
public static final String PRESCALE_PROPERTY = "Prescale";
+
+ // Action command to get notified after configuration change is performed.
+ public static final String CONFIGURATION_CHANGED = "configurationChanged";
static final String[] CONFIG_PROPERTIES = AbstractModel.getPropertyNames(ConfigurationModel.class);
@@ -64,10 +68,21 @@
this.configuration = configuration;
fireModelChanged();
}
+
+ public void addConfigurationListener(ConfigurationListener listener) {
+ listeners.add(listener);
+ }
public void setConfiguration(Configuration configuration) {
this.configuration = configuration;
fireModelChanged();
+ fireConfigurationChanged();
+ }
+
+ void fireConfigurationChanged() {
+ for (ConfigurationListener listener : listeners) {
+ listener.configurationChanged(this);
+ }
}
public Configuration getConfiguration() {
|