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