From 53d9762da5104415294cba45d77e4450ab3ecf4b Mon Sep 17 00:00:00 2001 From: Marcel Kronfeld Date: Tue, 14 Sep 2010 16:23:20 +0000 Subject: [PATCH] Always check PropertyChangeSupport for null --- src/eva2/gui/AbstractListSelectionEditor.java | 4 +++- src/eva2/gui/BigStringEditor.java | 17 +++++++---------- src/eva2/gui/GenericArrayEditor.java | 10 ++++------ src/eva2/gui/GenericDoubleArrayEditor.java | 12 ++++-------- .../gui/GenericEpsilonConstraintEditor.java | 12 ++++-------- src/eva2/gui/GenericEpsilonThresholdEditor.java | 12 ++++-------- src/eva2/gui/GenericFilePathEditor.java | 12 ++++-------- src/eva2/gui/GenericIntArrayEditor.java | 12 ++++-------- src/eva2/gui/GenericObjectEditor.java | 14 ++++++++------ .../GenericOptimizationObjectivesEditor.java | 6 ++++-- ...icOptimizationObjectivesWithParamEditor.java | 6 ++++-- src/eva2/gui/GenericRemoteServersEditor.java | 12 ++++-------- .../gui/GenericWeigthedLPTchebycheffEditor.java | 12 ++++-------- src/eva2/gui/MultiLineStringEditor.java | 8 ++++++-- src/eva2/gui/PropertySelectableList.java | 14 ++++++++------ src/eva2/gui/PropertySheetPanel.java | 12 ++++-------- src/eva2/gui/StatisticsEditor.java | 17 +++++++---------- .../crossover/PropertyCrossoverMixerEditor.java | 6 ++++-- .../mutation/PropertyMutationMixerEditor.java | 6 ++++-- .../server/go/tools/AbstractObjectEditor.java | 6 ++++-- 20 files changed, 95 insertions(+), 115 deletions(-) diff --git a/src/eva2/gui/AbstractListSelectionEditor.java b/src/eva2/gui/AbstractListSelectionEditor.java index dd4c94d5..b20627d2 100644 --- a/src/eva2/gui/AbstractListSelectionEditor.java +++ b/src/eva2/gui/AbstractListSelectionEditor.java @@ -150,11 +150,13 @@ public abstract class AbstractListSelectionEditor extends JPanel implements Prop } public void addPropertyChangeListener(PropertyChangeListener l) { + if (m_Support == null) m_Support = new PropertyChangeSupport(this); m_Support.addPropertyChangeListener(l); } public void removePropertyChangeListener(PropertyChangeListener l) { - m_Support.removePropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.removePropertyChangeListener(l); } /** Returns true since the Object can be shown diff --git a/src/eva2/gui/BigStringEditor.java b/src/eva2/gui/BigStringEditor.java index b90399e7..08f05c3c 100644 --- a/src/eva2/gui/BigStringEditor.java +++ b/src/eva2/gui/BigStringEditor.java @@ -168,17 +168,14 @@ public class BigStringEditor implements PropertyEditor { return m_Panel; } - /** - * - */ - public void addPropertyChangeListener (PropertyChangeListener l) { - m_Support.addPropertyChangeListener(l); + public void addPropertyChangeListener(PropertyChangeListener l) { + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.addPropertyChangeListener(l); } - /** - * - */ - public void removePropertyChangeListener (PropertyChangeListener l) { - m_Support.removePropertyChangeListener(l); + + public void removePropertyChangeListener(PropertyChangeListener l) { + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.removePropertyChangeListener(l); } /** diff --git a/src/eva2/gui/GenericArrayEditor.java b/src/eva2/gui/GenericArrayEditor.java index a9404dd4..4b8c8998 100644 --- a/src/eva2/gui/GenericArrayEditor.java +++ b/src/eva2/gui/GenericArrayEditor.java @@ -472,16 +472,14 @@ implements PropertyEditor { public Component getCustomEditor() { return this; } - /** - * - */ + public void addPropertyChangeListener(PropertyChangeListener l) { + if (m_Support == null) m_Support = new PropertyChangeSupport(this); m_Support.addPropertyChangeListener(l); } - /** - * - */ + public void removePropertyChangeListener(PropertyChangeListener l) { + if (m_Support == null) m_Support = new PropertyChangeSupport(this); m_Support.removePropertyChangeListener(l); } diff --git a/src/eva2/gui/GenericDoubleArrayEditor.java b/src/eva2/gui/GenericDoubleArrayEditor.java index 4c866147..f3cb134d 100644 --- a/src/eva2/gui/GenericDoubleArrayEditor.java +++ b/src/eva2/gui/GenericDoubleArrayEditor.java @@ -215,18 +215,14 @@ public class GenericDoubleArrayEditor extends JPanel implements PropertyEditor { return null; } - /** - * - */ public void addPropertyChangeListener(PropertyChangeListener l) { - m_Support.addPropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.addPropertyChangeListener(l); } - /** - * - */ public void removePropertyChangeListener(PropertyChangeListener l) { - m_Support.removePropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.removePropertyChangeListener(l); } /** This is used to hook an action listener to the ok button diff --git a/src/eva2/gui/GenericEpsilonConstraintEditor.java b/src/eva2/gui/GenericEpsilonConstraintEditor.java index 3b6e9375..596a8f09 100644 --- a/src/eva2/gui/GenericEpsilonConstraintEditor.java +++ b/src/eva2/gui/GenericEpsilonConstraintEditor.java @@ -182,18 +182,14 @@ public class GenericEpsilonConstraintEditor extends JPanel implements PropertyEd return null; } - /** - * - */ public void addPropertyChangeListener(PropertyChangeListener l) { - m_Support.addPropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.addPropertyChangeListener(l); } - /** - * - */ public void removePropertyChangeListener(PropertyChangeListener l) { - m_Support.removePropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.removePropertyChangeListener(l); } /** This is used to hook an action listener to the ok button diff --git a/src/eva2/gui/GenericEpsilonThresholdEditor.java b/src/eva2/gui/GenericEpsilonThresholdEditor.java index a3bced3a..f2ad68fa 100644 --- a/src/eva2/gui/GenericEpsilonThresholdEditor.java +++ b/src/eva2/gui/GenericEpsilonThresholdEditor.java @@ -199,18 +199,14 @@ public class GenericEpsilonThresholdEditor extends JPanel implements PropertyEdi return null; } - /** - * - */ public void addPropertyChangeListener(PropertyChangeListener l) { - m_Support.addPropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.addPropertyChangeListener(l); } - /** - * - */ public void removePropertyChangeListener(PropertyChangeListener l) { - m_Support.removePropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.removePropertyChangeListener(l); } /** This is used to hook an action listener to the ok button diff --git a/src/eva2/gui/GenericFilePathEditor.java b/src/eva2/gui/GenericFilePathEditor.java index 73c3cdc1..97547264 100644 --- a/src/eva2/gui/GenericFilePathEditor.java +++ b/src/eva2/gui/GenericFilePathEditor.java @@ -76,18 +76,14 @@ public class GenericFilePathEditor extends JPanel implements PropertyEditor { return null; } - /** - * - */ public void addPropertyChangeListener(PropertyChangeListener l) { - m_Support.addPropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.addPropertyChangeListener(l); } - /** - * - */ public void removePropertyChangeListener(PropertyChangeListener l) { - m_Support.removePropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.removePropertyChangeListener(l); } /** Returns true since the Object can be shown diff --git a/src/eva2/gui/GenericIntArrayEditor.java b/src/eva2/gui/GenericIntArrayEditor.java index bf556185..3477da95 100644 --- a/src/eva2/gui/GenericIntArrayEditor.java +++ b/src/eva2/gui/GenericIntArrayEditor.java @@ -161,18 +161,14 @@ public class GenericIntArrayEditor extends JPanel implements PropertyEditor { return null; } - /** - * - */ public void addPropertyChangeListener(PropertyChangeListener l) { - m_Support.addPropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.addPropertyChangeListener(l); } - /** - * - */ public void removePropertyChangeListener(PropertyChangeListener l) { - m_Support.removePropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.removePropertyChangeListener(l); } /** This is used to hook an action listener to the ok button diff --git a/src/eva2/gui/GenericObjectEditor.java b/src/eva2/gui/GenericObjectEditor.java index 9844c4c1..bd1aaf8d 100644 --- a/src/eva2/gui/GenericObjectEditor.java +++ b/src/eva2/gui/GenericObjectEditor.java @@ -490,13 +490,15 @@ public class GenericObjectEditor implements PropertyEditor { m_EditorComponent = new GOEPanel(m_Object, m_Backup, m_Support, this); m_EditorComponent.m_okBut.setEnabled(false); } - public void addPropertyChangeListener(PropertyChangeListener l) { - m_Support.addPropertyChangeListener(l); - } + public void addPropertyChangeListener(PropertyChangeListener l) { + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.addPropertyChangeListener(l); + } - public void removePropertyChangeListener(PropertyChangeListener l) { - m_Support.removePropertyChangeListener(l); - } + public void removePropertyChangeListener(PropertyChangeListener l) { + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.removePropertyChangeListener(l); + } /** * */ diff --git a/src/eva2/gui/GenericOptimizationObjectivesEditor.java b/src/eva2/gui/GenericOptimizationObjectivesEditor.java index 60d0c670..21529a7b 100644 --- a/src/eva2/gui/GenericOptimizationObjectivesEditor.java +++ b/src/eva2/gui/GenericOptimizationObjectivesEditor.java @@ -364,11 +364,13 @@ public class GenericOptimizationObjectivesEditor extends JPanel implements Prope /********************************* java.beans.PropertyChangeListener *************************/ public void addPropertyChangeListener(PropertyChangeListener l) { - m_Support.addPropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.addPropertyChangeListener(l); } public void removePropertyChangeListener(PropertyChangeListener l) { - m_Support.removePropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.removePropertyChangeListener(l); } /** This will wait for the GenericObjectEditor to finish * editing an object. diff --git a/src/eva2/gui/GenericOptimizationObjectivesWithParamEditor.java b/src/eva2/gui/GenericOptimizationObjectivesWithParamEditor.java index 67987547..607995c1 100644 --- a/src/eva2/gui/GenericOptimizationObjectivesWithParamEditor.java +++ b/src/eva2/gui/GenericOptimizationObjectivesWithParamEditor.java @@ -430,11 +430,13 @@ public class GenericOptimizationObjectivesWithParamEditor extends JPanel impleme /********************************* java.beans.PropertyChangeListener *************************/ public void addPropertyChangeListener(PropertyChangeListener l) { - m_Support.addPropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.addPropertyChangeListener(l); } public void removePropertyChangeListener(PropertyChangeListener l) { - m_Support.removePropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.removePropertyChangeListener(l); } /** This will wait for the GenericObjectEditor to finish * editing an object. diff --git a/src/eva2/gui/GenericRemoteServersEditor.java b/src/eva2/gui/GenericRemoteServersEditor.java index 1fc2e87b..b632104f 100644 --- a/src/eva2/gui/GenericRemoteServersEditor.java +++ b/src/eva2/gui/GenericRemoteServersEditor.java @@ -397,18 +397,14 @@ public class GenericRemoteServersEditor extends JPanel implements PropertyEditor return null; } - /** - * - */ public void addPropertyChangeListener(PropertyChangeListener l) { - m_Support.addPropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.addPropertyChangeListener(l); } - /** - * - */ public void removePropertyChangeListener(PropertyChangeListener l) { - m_Support.removePropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.removePropertyChangeListener(l); } /** This is used to hook an action listener to the ok button diff --git a/src/eva2/gui/GenericWeigthedLPTchebycheffEditor.java b/src/eva2/gui/GenericWeigthedLPTchebycheffEditor.java index b73c1a01..8282b53a 100644 --- a/src/eva2/gui/GenericWeigthedLPTchebycheffEditor.java +++ b/src/eva2/gui/GenericWeigthedLPTchebycheffEditor.java @@ -206,18 +206,14 @@ public class GenericWeigthedLPTchebycheffEditor extends JPanel implements Proper return null; } - /** - * - */ public void addPropertyChangeListener(PropertyChangeListener l) { - m_Support.addPropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.addPropertyChangeListener(l); } - /** - * - */ public void removePropertyChangeListener(PropertyChangeListener l) { - m_Support.removePropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.removePropertyChangeListener(l); } /** This is used to hook an action listener to the ok button diff --git a/src/eva2/gui/MultiLineStringEditor.java b/src/eva2/gui/MultiLineStringEditor.java index 954f7190..56906b3a 100644 --- a/src/eva2/gui/MultiLineStringEditor.java +++ b/src/eva2/gui/MultiLineStringEditor.java @@ -59,10 +59,14 @@ public class MultiLineStringEditor implements PropertyEditor { // This code uses the PropertyChangeSupport class to maintain a list of // listeners interested in the edits we make to the value. protected PropertyChangeSupport listeners = new PropertyChangeSupport(this); + public void addPropertyChangeListener(PropertyChangeListener l) { - listeners.addPropertyChangeListener(l); + if (listeners == null) listeners = new PropertyChangeSupport(this); + listeners.addPropertyChangeListener(l); } + public void removePropertyChangeListener(PropertyChangeListener l) { - listeners.removePropertyChangeListener(l); + if (listeners == null) listeners = new PropertyChangeSupport(this); + listeners.removePropertyChangeListener(l); } } diff --git a/src/eva2/gui/PropertySelectableList.java b/src/eva2/gui/PropertySelectableList.java index bd97e958..fc3d487f 100644 --- a/src/eva2/gui/PropertySelectableList.java +++ b/src/eva2/gui/PropertySelectableList.java @@ -104,11 +104,13 @@ public class PropertySelectableList implements java.io.Serializable { // m_Support.firePropertyChange("PropertySelectableList", null, this); // } - public void addPropertyChangeListener(PropertyChangeListener l) { - m_Support.addPropertyChangeListener(l); - } + public void addPropertyChangeListener(PropertyChangeListener l) { + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.addPropertyChangeListener(l); + } - public void removePropertyChangeListener(PropertyChangeListener l) { - m_Support.removePropertyChangeListener(l); - } + public void removePropertyChangeListener(PropertyChangeListener l) { + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.removePropertyChangeListener(l); + } } diff --git a/src/eva2/gui/PropertySheetPanel.java b/src/eva2/gui/PropertySheetPanel.java index 73e524b3..20704079 100644 --- a/src/eva2/gui/PropertySheetPanel.java +++ b/src/eva2/gui/PropertySheetPanel.java @@ -110,18 +110,14 @@ public class PropertySheetPanel extends JPanel implements PropertyChangeListener m_support.addPropertyChangeListener(this); } - /** Adds a PropertyChangeListener. - * @param l a value of type 'PropertyChangeListener' - */ public void addPropertyChangeListener(PropertyChangeListener l) { - if (m_support!=null) m_support.addPropertyChangeListener(l); + if (m_support == null) m_support = new PropertyChangeSupport(this); + m_support.addPropertyChangeListener(l); } - /** Removes a PropertyChangeListener. - * @param l a value of type 'PropertyChangeListener' - */ public void removePropertyChangeListener(PropertyChangeListener l) { - if (m_support!=null) m_support.removePropertyChangeListener(l); + if (m_support == null) m_support = new PropertyChangeSupport(this); + m_support.removePropertyChangeListener(l); } /** diff --git a/src/eva2/gui/StatisticsEditor.java b/src/eva2/gui/StatisticsEditor.java index 950b49b6..4d3a5d98 100644 --- a/src/eva2/gui/StatisticsEditor.java +++ b/src/eva2/gui/StatisticsEditor.java @@ -120,17 +120,14 @@ public class StatisticsEditor implements PropertyEditor { return m_Panel; } - /** - * - */ - public void addPropertyChangeListener (PropertyChangeListener l) { - m_Support.addPropertyChangeListener(l); + public void addPropertyChangeListener(PropertyChangeListener l) { + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.addPropertyChangeListener(l); } - /** - * - */ - public void removePropertyChangeListener (PropertyChangeListener l) { - m_Support.removePropertyChangeListener(l); + + public void removePropertyChangeListener(PropertyChangeListener l) { + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.removePropertyChangeListener(l); } } diff --git a/src/eva2/server/go/operators/crossover/PropertyCrossoverMixerEditor.java b/src/eva2/server/go/operators/crossover/PropertyCrossoverMixerEditor.java index 62063f59..d07a2447 100644 --- a/src/eva2/server/go/operators/crossover/PropertyCrossoverMixerEditor.java +++ b/src/eva2/server/go/operators/crossover/PropertyCrossoverMixerEditor.java @@ -426,11 +426,13 @@ public class PropertyCrossoverMixerEditor extends JPanel implements PropertyEdit /********************************* java.beans.PropertyChangeListener *************************/ public void addPropertyChangeListener(PropertyChangeListener l) { - m_Support.addPropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.addPropertyChangeListener(l); } public void removePropertyChangeListener(PropertyChangeListener l) { - m_Support.removePropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.removePropertyChangeListener(l); } /** This will wait for the GenericObjectEditor to finish * editing an object. diff --git a/src/eva2/server/go/operators/mutation/PropertyMutationMixerEditor.java b/src/eva2/server/go/operators/mutation/PropertyMutationMixerEditor.java index 04cd99e4..019f1cd7 100644 --- a/src/eva2/server/go/operators/mutation/PropertyMutationMixerEditor.java +++ b/src/eva2/server/go/operators/mutation/PropertyMutationMixerEditor.java @@ -401,11 +401,13 @@ public class PropertyMutationMixerEditor extends JPanel implements PropertyEdito /********************************* java.beans.PropertyChangeListener *************************/ public void addPropertyChangeListener(PropertyChangeListener l) { - m_Support.addPropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.addPropertyChangeListener(l); } public void removePropertyChangeListener(PropertyChangeListener l) { - m_Support.removePropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.removePropertyChangeListener(l); } /** This will wait for the GenericObjectEditor to finish * editing an object. diff --git a/src/eva2/server/go/tools/AbstractObjectEditor.java b/src/eva2/server/go/tools/AbstractObjectEditor.java index 7d34470a..789d76e5 100644 --- a/src/eva2/server/go/tools/AbstractObjectEditor.java +++ b/src/eva2/server/go/tools/AbstractObjectEditor.java @@ -41,11 +41,13 @@ public abstract class AbstractObjectEditor implements PropertyEditor, java.beans /********************************* java.beans.PropertyChangeListener *************************/ public void addPropertyChangeListener(PropertyChangeListener l) { - m_Support.addPropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.addPropertyChangeListener(l); } public void removePropertyChangeListener(PropertyChangeListener l) { - m_Support.removePropertyChangeListener(l); + if (m_Support == null) m_Support = new PropertyChangeSupport(this); + m_Support.removePropertyChangeListener(l); } /** This will wait for the GenericObjectEditor to finish * editing an object.