Automated merge with main-silver
authorffjre@netbeans.org
Sat, 25 Jul 2009 02:58:31 +0400
changeset 928510dcf1c4733
parent 927 3b3062799853
parent 805 a8a3ba796802
child 929 a8069272967f
Automated merge with main-silver
     1.1 --- a/openide.util/src/org/openide/util/ChangeSupport.java	Fri Jul 24 04:48:36 2009 +0400
     1.2 +++ b/openide.util/src/org/openide/util/ChangeSupport.java	Sat Jul 25 02:58:31 2009 +0400
     1.3 @@ -43,6 +43,8 @@
     1.4  
     1.5  import java.util.List;
     1.6  import java.util.concurrent.CopyOnWriteArrayList;
     1.7 +import java.util.logging.Level;
     1.8 +import java.util.logging.Logger;
     1.9  import javax.swing.event.ChangeEvent;
    1.10  import javax.swing.event.ChangeListener;
    1.11  
    1.12 @@ -55,6 +57,8 @@
    1.13   */
    1.14  public final class ChangeSupport {
    1.15  
    1.16 +    private static final Logger LOG = Logger.getLogger(ChangeSupport.class.getName());
    1.17 +
    1.18      // not private because used in unit tests
    1.19      final List<ChangeListener> listeners = new CopyOnWriteArrayList<ChangeListener>();
    1.20      private final Object source;
    1.21 @@ -80,6 +84,9 @@
    1.22          if (listener == null) {
    1.23              return;
    1.24          }
    1.25 +        if (LOG.isLoggable(Level.FINE) && listeners.contains(listener)) {
    1.26 +            LOG.log(Level.FINE, "diagnostics for #167491", new IllegalStateException("Added " + listener + " multiply"));
    1.27 +        }
    1.28          listeners.add(listener);
    1.29      }
    1.30