Index: web/project/nbproject/project.xml
===================================================================
RCS file: /cvs/web/project/nbproject/project.xml,v
retrieving revision 1.56
diff -u -r1.56 project.xml
--- web/project/nbproject/project.xml 12 Mar 2007 20:55:44 -0000 1.56
+++ web/project/nbproject/project.xml 19 Mar 2007 21:17:56 -0000
@@ -374,7 +374,7 @@
- 7.3
+ 7.8
Index: web/project/src/org/netbeans/modules/web/project/WebSources.java
===================================================================
RCS file: /cvs/web/project/src/org/netbeans/modules/web/project/WebSources.java,v
retrieving revision 1.15
diff -u -r1.15 WebSources.java
--- web/project/src/org/netbeans/modules/web/project/WebSources.java 8 Dec 2006 13:05:05 -0000 1.15
+++ web/project/src/org/netbeans/modules/web/project/WebSources.java 19 Mar 2007 21:17:56 -0000
@@ -22,8 +22,6 @@
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeEvent;
import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
@@ -41,6 +39,7 @@
import org.netbeans.spi.project.support.ant.SourcesHelper;
import org.netbeans.spi.project.support.ant.AntProjectHelper;
import org.netbeans.spi.project.support.ant.PropertyEvaluator;
+import org.openide.util.ChangeSupport;
/**
* Implementation of {@link Sources} interface for WebProject.
@@ -59,7 +58,7 @@
* Flag to forbid multiple invocation of {@link SourcesHelper#registerExternalRoots}
**/
private boolean externalRootsRegistered;
- private final List/**/ listeners = new ArrayList();
+ private final ChangeSupport changeSupport = new ChangeSupport(this);
private SourcesHelper sourcesHelper;
WebSources(AntProjectHelper helper, PropertyEvaluator evaluator, SourceRoots sourceRoots, SourceRoots testRoots) {
@@ -188,30 +187,18 @@
}
public void addChangeListener(ChangeListener changeListener) {
- synchronized (listeners) {
- listeners.add(changeListener);
- }
+ changeSupport.addChangeListener(changeListener);
}
public void removeChangeListener(ChangeListener changeListener) {
- synchronized (listeners) {
- listeners.remove(changeListener);
- }
+ changeSupport.removeChangeListener(changeListener);
}
private void fireChange() {
- ChangeListener[] _listeners;
- synchronized (listeners) {
+ synchronized (this) {
delegate = null;
- if (listeners.isEmpty()) {
- return;
- }
- _listeners = (ChangeListener[])listeners.toArray(new ChangeListener[listeners.size()]);
- }
- ChangeEvent ev = new ChangeEvent(this);
- for (int i = 0; i < _listeners.length; i++) {
- _listeners[i].stateChanged(ev);
}
+ changeSupport.fireChange();
}
public void propertyChange(PropertyChangeEvent evt) {
Index: web/project/src/org/netbeans/modules/web/project/queries/CompiledSourceForBinaryQuery.java
===================================================================
RCS file: /cvs/web/project/src/org/netbeans/modules/web/project/queries/CompiledSourceForBinaryQuery.java,v
retrieving revision 1.12
diff -u -r1.12 CompiledSourceForBinaryQuery.java
--- web/project/src/org/netbeans/modules/web/project/queries/CompiledSourceForBinaryQuery.java 30 Jun 2006 22:34:50 -0000 1.12
+++ web/project/src/org/netbeans/modules/web/project/queries/CompiledSourceForBinaryQuery.java 19 Mar 2007 21:17:56 -0000
@@ -30,16 +30,14 @@
import java.net.MalformedURLException;
import java.beans.PropertyChangeListener;
import java.beans.PropertyChangeEvent;
-import java.util.ArrayList;
-import java.util.Iterator;
import java.util.Map;
import java.util.HashMap;
import javax.swing.event.ChangeListener;
-import javax.swing.event.ChangeEvent;
import org.netbeans.api.java.queries.SourceForBinaryQuery;
import org.netbeans.spi.project.support.ant.PropertyEvaluator;
import org.netbeans.modules.web.project.SourceRoots;
+import org.openide.util.ChangeSupport;
/**
* Finds sources corresponding to binaries in a J2SE project.
@@ -116,7 +114,7 @@
private static class Result implements SourceForBinaryQuery.Result, PropertyChangeListener {
- private ArrayList listeners;
+ private final ChangeSupport changeSupport = new ChangeSupport(this);
private SourceRoots sourceRoots;
public Result (SourceRoots sourceRoots) {
@@ -128,37 +126,17 @@
return this.sourceRoots.getRoots(); //No need to cache it, SourceRoots does
}
- public synchronized void addChangeListener (ChangeListener l) {
- if (this.listeners == null) {
- this.listeners = new ArrayList();
- }
- this.listeners.add (l);
+ public void addChangeListener (ChangeListener l) {
+ changeSupport.addChangeListener(l);
}
- public synchronized void removeChangeListener (ChangeListener l) {
- if (this.listeners == null) {
- return;
- }
- this.listeners.remove (l);
+ public void removeChangeListener (ChangeListener l) {
+ changeSupport.removeChangeListener(l);
}
public void propertyChange(PropertyChangeEvent evt) {
if (SourceRoots.PROP_ROOTS.equals(evt.getPropertyName())) {
- this.fireChange ();
- }
- }
-
- private void fireChange() {
- Iterator it;
- synchronized (this) {
- if (this.listeners == null) {
- return;
- }
- it = ((ArrayList)this.listeners.clone()).iterator();
- }
- ChangeEvent event = new ChangeEvent(this);
- while (it.hasNext()) {
- ((ChangeListener)it.next()).stateChanged(event);
+ this.changeSupport.fireChange ();
}
}
Index: web/project/src/org/netbeans/modules/web/project/queries/JavadocForBinaryQueryImpl.java
===================================================================
RCS file: /cvs/web/project/src/org/netbeans/modules/web/project/queries/JavadocForBinaryQueryImpl.java,v
retrieving revision 1.4
diff -u -r1.4 JavadocForBinaryQueryImpl.java
--- web/project/src/org/netbeans/modules/web/project/queries/JavadocForBinaryQueryImpl.java 30 Jun 2006 22:34:50 -0000 1.4
+++ web/project/src/org/netbeans/modules/web/project/queries/JavadocForBinaryQueryImpl.java 19 Mar 2007 21:17:56 -0000
@@ -21,9 +21,6 @@
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import javax.swing.event.ChangeEvent;
import org.netbeans.spi.project.support.ant.AntProjectHelper;
import org.openide.ErrorManager;
import org.openide.filesystems.FileUtil;
@@ -34,6 +31,7 @@
import org.netbeans.modules.web.project.ui.customizer.WebProjectProperties;
import org.netbeans.spi.java.queries.JavadocForBinaryQueryImplementation;
import org.netbeans.spi.project.support.ant.PropertyEvaluator;
+import org.openide.util.ChangeSupport;
import org.openide.util.WeakListeners;
/**
@@ -54,7 +52,7 @@
class R implements JavadocForBinaryQuery.Result, PropertyChangeListener {
- private List listeners;
+ private final ChangeSupport changeSupport = new ChangeSupport(this);
private URL[] result;
public R () {
@@ -84,19 +82,13 @@
}
return this.result;
}
- public synchronized void addChangeListener(final ChangeListener l) {
+ public void addChangeListener(final ChangeListener l) {
assert l != null;
- if (this.listeners == null) {
- this.listeners = new ArrayList ();
- }
- this.listeners.add (l);
+ changeSupport.addChangeListener(l);
}
- public synchronized void removeChangeListener(final ChangeListener l) {
+ public void removeChangeListener(final ChangeListener l) {
assert l != null;
- if (this.listeners == null) {
- return;
- }
- this.listeners.remove (l);
+ changeSupport.removeChangeListener(l);
}
public void propertyChange (final PropertyChangeEvent event) {
@@ -104,21 +96,7 @@
synchronized (this) {
result = null;
}
- this.fireChange ();
- }
- }
-
- private void fireChange () {
- ChangeListener[] _listeners;
- synchronized (this) {
- if (this.listeners == null) {
- return;
- }
- _listeners = (ChangeListener[]) this.listeners.toArray (new ChangeListener[this.listeners.size()]);
- }
- ChangeEvent event = new ChangeEvent (this);
- for (int i=0; i<_listeners.length; i++) {
- _listeners[i].stateChanged(event);
+ this.changeSupport.fireChange ();
}
}
}
Index: web/project/src/org/netbeans/modules/web/project/ui/ConfFilesNodeFactory.java
===================================================================
RCS file: /cvs/web/project/src/org/netbeans/modules/web/project/ui/ConfFilesNodeFactory.java,v
retrieving revision 1.1
diff -u -r1.1 ConfFilesNodeFactory.java
--- web/project/src/org/netbeans/modules/web/project/ui/ConfFilesNodeFactory.java 7 Mar 2007 13:22:45 -0000 1.1
+++ web/project/src/org/netbeans/modules/web/project/ui/ConfFilesNodeFactory.java 19 Mar 2007 21:17:56 -0000
@@ -65,6 +65,7 @@
import org.openide.loaders.DataObjectNotFoundException;
import org.openide.nodes.Children;
import org.openide.nodes.Node;
+import org.openide.util.ChangeSupport;
import org.openide.util.HelpCtx;
import org.openide.util.Lookup;
import org.openide.util.NbBundle;
@@ -95,7 +96,7 @@
private static final String CONF_FILES = "confFiles"; //NOI18N
private final WebProject project;
- private final ArrayList listeners = new ArrayList();
+ private final ChangeSupport changeSupport = new ChangeSupport(this);
ConfFilesNodeList(WebProject proj) {
project = proj;
@@ -109,24 +110,12 @@
return result;
}
- public synchronized void addChangeListener(ChangeListener l) {
- listeners.add(l);
+ public void addChangeListener(ChangeListener l) {
+ changeSupport.addChangeListener(l);
}
- public synchronized void removeChangeListener(ChangeListener l) {
- listeners.remove(l);
- }
-
- private void fireChange() {
- ArrayList list = new ArrayList();
- synchronized (this) {
- list.addAll(listeners);
- }
- Iterator it = list.iterator();
- while (it.hasNext()) {
- ChangeListener elem = it.next();
- elem.stateChanged(new ChangeEvent( this ));
- }
+ public void removeChangeListener(ChangeListener l) {
+ changeSupport.removeChangeListener(l);
}
public Node node(String key) {
@@ -147,7 +136,7 @@
// The caller holds ProjectManager.mutex() read lock
SwingUtilities.invokeLater(new Runnable() {
public void run() {
- fireChange();
+ changeSupport.fireChange();
}
});
}
Index: web/project/src/org/netbeans/modules/web/project/ui/DocBaseNodeFactory.java
===================================================================
RCS file: /cvs/web/project/src/org/netbeans/modules/web/project/ui/DocBaseNodeFactory.java,v
retrieving revision 1.1
diff -u -r1.1 DocBaseNodeFactory.java
--- web/project/src/org/netbeans/modules/web/project/ui/DocBaseNodeFactory.java 7 Mar 2007 13:22:44 -0000 1.1
+++ web/project/src/org/netbeans/modules/web/project/ui/DocBaseNodeFactory.java 19 Mar 2007 21:17:57 -0000
@@ -23,7 +23,6 @@
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
import javax.swing.SwingUtilities;
import javax.swing.event.ChangeEvent;
@@ -45,6 +44,7 @@
import org.openide.loaders.DataObject;
import org.openide.nodes.FilterNode;
import org.openide.nodes.Node;
+import org.openide.util.ChangeSupport;
import org.openide.util.NbBundle;
import org.openide.util.Utilities;
@@ -68,7 +68,7 @@
private static final String DOC_BASE = "docBase"; //NOI18N
private final WebProject project;
- private final ArrayList listeners = new ArrayList();
+ private final ChangeSupport changeSupport = new ChangeSupport(this);
private final PropertyEvaluator evaluator;
private final UpdateHelper helper;
@@ -87,24 +87,12 @@
return result;
}
- public synchronized void addChangeListener(ChangeListener l) {
- listeners.add(l);
+ public void addChangeListener(ChangeListener l) {
+ changeSupport.addChangeListener(l);
}
- public synchronized void removeChangeListener(ChangeListener l) {
- listeners.remove(l);
- }
-
- private void fireChange() {
- ArrayList list = new ArrayList();
- synchronized (this) {
- list.addAll(listeners);
- }
- Iterator it = list.iterator();
- while (it.hasNext()) {
- ChangeListener elem = it.next();
- elem.stateChanged(new ChangeEvent( this ));
- }
+ public void removeChangeListener(ChangeListener l) {
+ changeSupport.removeChangeListener(l);
}
public Node node(String key) {
@@ -125,7 +113,7 @@
// The caller holds ProjectManager.mutex() read lock
SwingUtilities.invokeLater(new Runnable() {
public void run() {
- fireChange();
+ changeSupport.fireChange();
}
});
}
Index: web/project/src/org/netbeans/modules/web/project/ui/LibrariesNodeFactory.java
===================================================================
RCS file: /cvs/web/project/src/org/netbeans/modules/web/project/ui/LibrariesNodeFactory.java,v
retrieving revision 1.1
diff -u -r1.1 LibrariesNodeFactory.java
--- web/project/src/org/netbeans/modules/web/project/ui/LibrariesNodeFactory.java 7 Mar 2007 13:22:43 -0000 1.1
+++ web/project/src/org/netbeans/modules/web/project/ui/LibrariesNodeFactory.java 19 Mar 2007 21:17:57 -0000
@@ -25,11 +25,9 @@
import java.net.URI;
import java.net.URL;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
import javax.swing.Action;
import javax.swing.SwingUtilities;
-import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import org.netbeans.api.project.Project;
import org.netbeans.modules.web.project.SourceRoots;
@@ -42,6 +40,7 @@
import org.netbeans.spi.project.ui.support.NodeFactory;
import org.netbeans.spi.project.ui.support.NodeList;
import org.openide.nodes.Node;
+import org.openide.util.ChangeSupport;
import org.openide.util.NbBundle;
/**
@@ -66,7 +65,7 @@
private final SourceRoots testSources;
private final WebProject project;
- private final ArrayList listeners = new ArrayList();
+ private final ChangeSupport changeSupport = new ChangeSupport(this);
private final PropertyEvaluator evaluator;
private final UpdateHelper helper;
@@ -100,24 +99,12 @@
return result;
}
- public synchronized void addChangeListener(ChangeListener l) {
- listeners.add(l);
+ public void addChangeListener(ChangeListener l) {
+ changeSupport.addChangeListener(l);
}
- public synchronized void removeChangeListener(ChangeListener l) {
- listeners.remove(l);
- }
-
- private void fireChange() {
- ArrayList list = new ArrayList();
- synchronized (this) {
- list.addAll(listeners);
- }
- Iterator it = list.iterator();
- while (it.hasNext()) {
- ChangeListener elem = it.next();
- elem.stateChanged(new ChangeEvent( this ));
- }
+ public void removeChangeListener(ChangeListener l) {
+ changeSupport.removeChangeListener(l);
}
public Node node(String key) {
@@ -186,7 +173,7 @@
// The caller holds ProjectManager.mutex() read lock
SwingUtilities.invokeLater(new Runnable() {
public void run() {
- fireChange();
+ changeSupport.fireChange();
}
});
}
Index: web/project/src/org/netbeans/modules/web/project/ui/PlatformNode.java
===================================================================
RCS file: /cvs/web/project/src/org/netbeans/modules/web/project/ui/PlatformNode.java,v
retrieving revision 1.6
diff -u -r1.6 PlatformNode.java
--- web/project/src/org/netbeans/modules/web/project/ui/PlatformNode.java 8 Dec 2006 13:05:06 -0000 1.6
+++ web/project/src/org/netbeans/modules/web/project/ui/PlatformNode.java 19 Mar 2007 21:17:57 -0000
@@ -54,6 +54,7 @@
import org.netbeans.api.project.SourceGroup;
import org.netbeans.spi.project.support.ant.PropertyEvaluator;
import org.netbeans.spi.java.project.support.ui.PackageView;
+import org.openide.util.ChangeSupport;
import org.openide.util.actions.SystemAction;
import org.openide.util.lookup.Lookups;
import org.openide.xml.XMLUtil;
@@ -210,7 +211,7 @@
private final PropertyEvaluator evaluator;
private final String platformPropName;
private JavaPlatform platformCache;
- private List/**/ listeners;
+ private final ChangeSupport changeSupport = new ChangeSupport(this);
public PlatformProvider (PropertyEvaluator evaluator, String platformPropName) {
this.evaluator = evaluator;
@@ -243,38 +244,18 @@
return platformCache;
}
- public synchronized void addChangeListener (ChangeListener l) {
- if (this.listeners == null) {
- this.listeners = new ArrayList ();
- }
- this.listeners.add (l);
+ public void addChangeListener (ChangeListener l) {
+ changeSupport.addChangeListener(l);
}
- public synchronized void removeChangeListener (ChangeListener l) {
- if (this.listeners == null) {
- return;
- }
- this.listeners.remove(l);
+ public void removeChangeListener (ChangeListener l) {
+ changeSupport.removeChangeListener(l);
}
public void propertyChange(PropertyChangeEvent evt) {
if (platformPropName.equals (evt.getPropertyName())) {
platformCache = null;
- this.fireChange ();
- }
- }
-
- private void fireChange () {
- ChangeListener[] _listeners;
- synchronized (this) {
- if (this.listeners == null) {
- return;
- }
- _listeners = (ChangeListener[]) this.listeners.toArray(new ChangeListener[listeners.size()]);
- }
- ChangeEvent event = new ChangeEvent (this);
- for (int i=0; i< _listeners.length; i++) {
- _listeners[i].stateChanged(event);
+ this.changeSupport.fireChange ();
}
}
Index: web/project/src/org/netbeans/modules/web/project/ui/SetupDirNodeFactory.java
===================================================================
RCS file: /cvs/web/project/src/org/netbeans/modules/web/project/ui/SetupDirNodeFactory.java,v
retrieving revision 1.1
diff -u -r1.1 SetupDirNodeFactory.java
--- web/project/src/org/netbeans/modules/web/project/ui/SetupDirNodeFactory.java 7 Mar 2007 13:22:42 -0000 1.1
+++ web/project/src/org/netbeans/modules/web/project/ui/SetupDirNodeFactory.java 19 Mar 2007 21:17:57 -0000
@@ -22,10 +22,8 @@
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
import javax.swing.SwingUtilities;
-import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import org.netbeans.api.project.Project;
import org.netbeans.modules.j2ee.spi.ejbjar.support.J2eeProjectView;
@@ -33,6 +31,7 @@
import org.netbeans.spi.project.ui.support.NodeFactory;
import org.netbeans.spi.project.ui.support.NodeList;
import org.openide.nodes.Node;
+import org.openide.util.ChangeSupport;
/**
*
@@ -54,7 +53,7 @@
private static final String SETUP_DIR = "setupDir"; //NOI18N
private final WebProject project;
- private final ArrayList listeners = new ArrayList();
+ private final ChangeSupport changeSupport = new ChangeSupport(this);
SetupDirNodeList(WebProject proj) {
project = proj;
@@ -68,24 +67,12 @@
return result;
}
- public synchronized void addChangeListener(ChangeListener l) {
- listeners.add(l);
+ public void addChangeListener(ChangeListener l) {
+ changeSupport.addChangeListener(l);
}
- public synchronized void removeChangeListener(ChangeListener l) {
- listeners.remove(l);
- }
-
- private void fireChange() {
- ArrayList list = new ArrayList();
- synchronized (this) {
- list.addAll(listeners);
- }
- Iterator it = list.iterator();
- while (it.hasNext()) {
- ChangeListener elem = it.next();
- elem.stateChanged(new ChangeEvent( this ));
- }
+ public void removeChangeListener(ChangeListener l) {
+ changeSupport.removeChangeListener(l);
}
public Node node(String key) {
@@ -106,7 +93,7 @@
// The caller holds ProjectManager.mutex() read lock
SwingUtilities.invokeLater(new Runnable() {
public void run() {
- fireChange();
+ changeSupport.fireChange();
}
});
}
Index: web/project/src/org/netbeans/modules/web/project/ui/SourceNodeFactory.java
===================================================================
RCS file: /cvs/web/project/src/org/netbeans/modules/web/project/ui/SourceNodeFactory.java,v
retrieving revision 1.1
diff -u -r1.1 SourceNodeFactory.java
--- web/project/src/org/netbeans/modules/web/project/ui/SourceNodeFactory.java 7 Mar 2007 13:22:42 -0000 1.1
+++ web/project/src/org/netbeans/modules/web/project/ui/SourceNodeFactory.java 19 Mar 2007 21:17:57 -0000
@@ -22,7 +22,6 @@
import java.awt.event.ActionEvent;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.Iterator;
import java.util.List;
import javax.swing.AbstractAction;
import javax.swing.Action;
@@ -42,6 +41,7 @@
import org.openide.filesystems.FileObject;
import org.openide.nodes.FilterNode;
import org.openide.nodes.Node;
+import org.openide.util.ChangeSupport;
import org.openide.util.NbBundle;
/**
@@ -62,7 +62,7 @@
private final WebProject project;
- private final List listeners = new ArrayList();
+ private final ChangeSupport changeSupport = new ChangeSupport(this);
public SourcesNodeList(WebProject proj) {
project = proj;
@@ -82,24 +82,12 @@
return result;
}
- public synchronized void addChangeListener(ChangeListener l) {
- listeners.add(l);
+ public void addChangeListener(ChangeListener l) {
+ changeSupport.addChangeListener(l);
}
- public synchronized void removeChangeListener(ChangeListener l) {
- listeners.remove(l);
- }
-
- private void fireChange() {
- ArrayList list = new ArrayList();
- synchronized (this) {
- list.addAll(listeners);
- }
- Iterator it = list.iterator();
- while (it.hasNext()) {
- ChangeListener elem = it.next();
- elem.stateChanged(new ChangeEvent( this ));
- }
+ public void removeChangeListener(ChangeListener l) {
+ changeSupport.removeChangeListener(l);
}
public Node node(SourceGroupKey key) {
@@ -119,7 +107,7 @@
// The caller holds ProjectManager.mutex() read lock
SwingUtilities.invokeLater(new Runnable() {
public void run() {
- fireChange();
+ changeSupport.fireChange();
}
});
}
Index: web/project/src/org/netbeans/modules/web/project/ui/WebLogicalViewProvider.java
===================================================================
RCS file: /cvs/web/project/src/org/netbeans/modules/web/project/ui/WebLogicalViewProvider.java,v
retrieving revision 1.1
diff -u -r1.1 WebLogicalViewProvider.java
--- web/project/src/org/netbeans/modules/web/project/ui/WebLogicalViewProvider.java 7 Mar 2007 13:22:44 -0000 1.1
+++ web/project/src/org/netbeans/modules/web/project/ui/WebLogicalViewProvider.java 19 Mar 2007 21:17:57 -0000
@@ -92,6 +92,7 @@
import org.netbeans.modules.web.project.WebProject;
import org.netbeans.modules.web.project.ui.customizer.WebProjectProperties;
import org.netbeans.spi.project.ui.support.NodeFactorySupport;
+import org.openide.util.ChangeSupport;
/**
* Support for creating logical views.
@@ -105,7 +106,7 @@
private final UpdateHelper helper;
private final PropertyEvaluator evaluator;
private final ReferenceHelper resolver;
- private List changeListeners;
+ private final ChangeSupport changeSupport = new ChangeSupport(this);
public WebLogicalViewProvider(WebProject project, UpdateHelper helper, PropertyEvaluator evaluator, ReferenceHelper resolver) {
this.project = project;
@@ -200,18 +201,12 @@
return NodeOp.findChild(configFiles, nodeName);
}
- public synchronized void addChangeListener (ChangeListener l) {
- if (this.changeListeners == null) {
- this.changeListeners = new ArrayList();
- }
- this.changeListeners.add (l);
+ public void addChangeListener (ChangeListener l) {
+ changeSupport.addChangeListener(l);
}
- public synchronized void removeChangeListener (ChangeListener l) {
- if (this.changeListeners == null) {
- return;
- }
- this.changeListeners.remove (l);
+ public void removeChangeListener (ChangeListener l) {
+ changeSupport.removeChangeListener(l);
}
/**
@@ -220,18 +215,7 @@
*
*/
public void testBroken () {
- ChangeListener[] _listeners;
- synchronized (this) {
- if (this.changeListeners == null) {
- return;
- }
- _listeners = changeListeners.toArray(new ChangeListener[changeListeners.size()]);
-
- }
- ChangeEvent event = new ChangeEvent(this);
- for (ChangeListener l : _listeners) {
- l.stateChanged(event);
- }
+ changeSupport.fireChange();
}
// Private innerclasses ----------------------------------------------------
Index: web/project/src/org/netbeans/modules/web/project/ui/wizards/ImportWebProjectWizardIterator.java
===================================================================
RCS file: /cvs/web/project/src/org/netbeans/modules/web/project/ui/wizards/ImportWebProjectWizardIterator.java,v
retrieving revision 1.50
diff -u -r1.50 ImportWebProjectWizardIterator.java
--- web/project/src/org/netbeans/modules/web/project/ui/wizards/ImportWebProjectWizardIterator.java 8 Dec 2006 13:04:56 -0000 1.50
+++ web/project/src/org/netbeans/modules/web/project/ui/wizards/ImportWebProjectWizardIterator.java 19 Mar 2007 21:17:57 -0000
@@ -41,6 +41,7 @@
import org.openide.WizardValidationException;
import org.openide.filesystems.FileObject;
import org.openide.filesystems.FileUtil;
+import org.openide.util.ChangeSupport;
import org.openide.util.HelpCtx;
import org.openide.util.NbBundle;
@@ -281,26 +282,15 @@
return panel.valid(wizardDescriptor);
}
- private final Set/**/ listeners = new HashSet(1);
+ private final ChangeSupport changeSupport = new ChangeSupport(this);
public void addChangeListener(ChangeListener l) {
- synchronized (listeners) {
- listeners.add(l);
- }
+ changeSupport.addChangeListener(l);
}
public void removeChangeListener(ChangeListener l) {
- synchronized (listeners) {
- listeners.remove(l);
- }
+ changeSupport.removeChangeListener(l);
}
protected void fireChangeEvent() {
- Iterator it;
- synchronized (listeners) {
- it = new HashSet(listeners).iterator();
- }
- ChangeEvent ev = new ChangeEvent(this);
- while (it.hasNext()) {
- ((ChangeListener)it.next()).stateChanged(ev);
- }
+ changeSupport.fireChange();
}
public void readSettings (Object settings) {
wizardDescriptor = (WizardDescriptor) settings;
Index: web/project/src/org/netbeans/modules/web/project/ui/wizards/PanelConfigureProject.java
===================================================================
RCS file: /cvs/web/project/src/org/netbeans/modules/web/project/ui/wizards/PanelConfigureProject.java,v
retrieving revision 1.10
diff -u -r1.10 PanelConfigureProject.java
--- web/project/src/org/netbeans/modules/web/project/ui/wizards/PanelConfigureProject.java 8 Dec 2006 13:04:55 -0000 1.10
+++ web/project/src/org/netbeans/modules/web/project/ui/wizards/PanelConfigureProject.java 19 Mar 2007 21:17:57 -0000
@@ -30,6 +30,7 @@
import org.openide.WizardDescriptor;
import org.openide.WizardValidationException;
+import org.openide.util.ChangeSupport;
import org.openide.util.HelpCtx;
/**
@@ -66,26 +67,15 @@
return component.valid(wizardDescriptor);
}
- private final Set/**/ listeners = new HashSet(1);
+ private final ChangeSupport changeSupport = new ChangeSupport(this);
public void addChangeListener(ChangeListener l) {
- synchronized (listeners) {
- listeners.add(l);
- }
+ changeSupport.addChangeListener(l);
}
public void removeChangeListener(ChangeListener l) {
- synchronized (listeners) {
- listeners.remove(l);
- }
+ changeSupport.removeChangeListener(l);
}
protected void fireChangeEvent() {
- Iterator it;
- synchronized (listeners) {
- it = new HashSet(listeners).iterator();
- }
- ChangeEvent ev = new ChangeEvent(this);
- while (it.hasNext()) {
- ((ChangeListener)it.next()).stateChanged(ev);
- }
+ changeSupport.fireChange();
}
public void readSettings(Object settings) {
Index: web/project/src/org/netbeans/modules/web/project/ui/wizards/PanelSourceFolders.java
===================================================================
RCS file: /cvs/web/project/src/org/netbeans/modules/web/project/ui/wizards/PanelSourceFolders.java,v
retrieving revision 1.17
diff -u -r1.17 PanelSourceFolders.java
--- web/project/src/org/netbeans/modules/web/project/ui/wizards/PanelSourceFolders.java 16 Feb 2007 16:13:33 -0000 1.17
+++ web/project/src/org/netbeans/modules/web/project/ui/wizards/PanelSourceFolders.java 19 Mar 2007 21:17:57 -0000
@@ -41,6 +41,7 @@
import org.openide.WizardValidationException;
import org.openide.filesystems.FileObject;
import org.openide.filesystems.FileUtil;
+import org.openide.util.ChangeSupport;
import org.openide.util.HelpCtx;
import org.openide.util.NbBundle;
@@ -461,22 +462,16 @@
static class Panel implements WizardDescriptor.ValidatingPanel {
- private ArrayList listeners;
+ private final ChangeSupport changeSupport = new ChangeSupport(this);
private PanelSourceFolders component;
private WizardDescriptor settings;
- public synchronized void removeChangeListener(ChangeListener l) {
- if (this.listeners == null) {
- return;
- }
- this.listeners.remove(l);
+ public void removeChangeListener(ChangeListener l) {
+ changeSupport.removeChangeListener(l);
}
public void addChangeListener(ChangeListener l) {
- if (this.listeners == null) {
- this.listeners = new ArrayList ();
- }
- this.listeners.add (l);
+ changeSupport.addChangeListener(l);
}
public void readSettings(Object settings) {
@@ -514,17 +509,7 @@
}
private void fireChangeEvent () {
- Iterator it = null;
- synchronized (this) {
- if (this.listeners == null) {
- return;
- }
- it = ((ArrayList)this.listeners.clone()).iterator();
- }
- ChangeEvent event = new ChangeEvent (this);
- while (it.hasNext()) {
- ((ChangeListener)it.next()).stateChanged(event);
- }
+ changeSupport.fireChange();
}
}
Index: web/project/src/org/netbeans/modules/web/project/ui/wizards/PanelSupportedFrameworks.java
===================================================================
RCS file: /cvs/web/project/src/org/netbeans/modules/web/project/ui/wizards/PanelSupportedFrameworks.java,v
retrieving revision 1.5
diff -u -r1.5 PanelSupportedFrameworks.java
--- web/project/src/org/netbeans/modules/web/project/ui/wizards/PanelSupportedFrameworks.java 8 Dec 2006 13:04:54 -0000 1.5
+++ web/project/src/org/netbeans/modules/web/project/ui/wizards/PanelSupportedFrameworks.java 19 Mar 2007 21:17:57 -0000
@@ -20,16 +20,13 @@
package org.netbeans.modules.web.project.ui.wizards;
import java.awt.Component;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
import javax.swing.JComponent;
-import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import org.openide.WizardDescriptor;
import org.openide.WizardValidationException;
+import org.openide.util.ChangeSupport;
import org.openide.util.HelpCtx;
/**
@@ -68,27 +65,16 @@
return component.valid(wizardDescriptor);
}
- private final Set/**/ listeners = new HashSet(1);
+ private final ChangeSupport changeSupport = new ChangeSupport(this);
public void addChangeListener(ChangeListener l) {
- synchronized (listeners) {
- listeners.add(l);
- }
+ changeSupport.addChangeListener(l);
}
public void removeChangeListener(ChangeListener l) {
- synchronized (listeners) {
- listeners.remove(l);
- }
+ changeSupport.removeChangeListener(l);
}
protected void fireChangeEvent() {
- Iterator it;
- synchronized (listeners) {
- it = new HashSet(listeners).iterator();
- }
- ChangeEvent ev = new ChangeEvent(this);
- while (it.hasNext()) {
- ((ChangeListener)it.next()).stateChanged(ev);
- }
+ changeSupport.fireChange();
}
public void readSettings(Object settings) {