EventNotifier ignores events that are not listened to BLD200303271528
authormmatula@netbeans.org
Thu, 27 Mar 2003 08:51:00 +0000
changeset 125644ed18860b71
parent 1255 eff8b2aa4f80
child 1257 022018daa195
EventNotifier ignores events that are not listened to
mdr/src/org/netbeans/mdr/util/EventNotifier.java
     1.1 --- a/mdr/src/org/netbeans/mdr/util/EventNotifier.java	Wed Mar 26 19:25:29 2003 +0000
     1.2 +++ b/mdr/src/org/netbeans/mdr/util/EventNotifier.java	Thu Mar 27 08:51:00 2003 +0000
     1.3 @@ -351,26 +351,28 @@
     1.4           * @exception DebugException if the event was already fired
     1.5           */
     1.6          public void firePlannedChange(Object current, MDRChangeEvent event) {
     1.7 -            localQueue.addLast(event);
     1.8              HashSet preChange = new HashSet();
     1.9              HashSet postChange = new HashSet();
    1.10              // collect preChange and postChange listeners
    1.11              collectListeners(current, event, preChange, postChange);
    1.12 -            for (Iterator it = preChange.iterator(); it.hasNext();) {
    1.13 -                try {
    1.14 -                    ((MDRPreChangeListener) it.next()).plannedChange(event);
    1.15 -                } catch (RuntimeException e) {
    1.16 -                    Logger.getDefault().notify(Logger.INFORMATIONAL, e);
    1.17 +            if (!(preChange.isEmpty() && postChange.isEmpty())) {
    1.18 +                localQueue.addLast(event);
    1.19 +                for (Iterator it = preChange.iterator(); it.hasNext();) {
    1.20 +                    try {
    1.21 +                        ((MDRPreChangeListener) it.next()).plannedChange(event);
    1.22 +                    } catch (RuntimeException e) {
    1.23 +                        Logger.getDefault().notify(Logger.INFORMATIONAL, e);
    1.24 +                    }
    1.25                  }
    1.26 -            }
    1.27 -            if (preChangeListeners.put(event, preChange) != null) {
    1.28 -                throw new DebugException("Same event fired twice.");
    1.29 -            }
    1.30 -            CompositeCollection all = new CompositeCollection();
    1.31 -            all.addCollection(preChange);
    1.32 -            all.addCollection(postChange);
    1.33 -            if (changeListeners.put(event, all) != null) {
    1.34 -                throw new DebugException("Same event fired twice.");
    1.35 +                if (preChangeListeners.put(event, preChange) != null) {
    1.36 +                    throw new DebugException("Same event fired twice.");
    1.37 +                }
    1.38 +                CompositeCollection all = new CompositeCollection();
    1.39 +                all.addCollection(preChange);
    1.40 +                all.addCollection(postChange);
    1.41 +                if (changeListeners.put(event, all) != null) {
    1.42 +                    throw new DebugException("Same event fired twice.");
    1.43 +                }
    1.44              }
    1.45          }
    1.46