Author: ssegu
Date: Mon Jan 22 16:15:15 2007
New Revision: 498865
URL: http://svn.apache.org/viewvc?view=rev&rev=498865
Log:
Fixed register/removeListener methods to not re-add once initialized.
Modified:
incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/AbstractEventManager.java
Modified:
incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/AbstractEventManager.java
URL:
http://svn.apache.org/viewvc/incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/AbstractEventManager.java?view=diff&rev=498865&r1=498864&r2=498865
==============================================================================
---
incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/AbstractEventManager.java
(original)
+++
incubator/openjpa/trunk/openjpa-lib/src/main/java/org/apache/openjpa/lib/util/AbstractEventManager.java
Mon Jan 22 16:15:15 2007
@@ -45,9 +45,10 @@
if (listener == null)
return;
if (_firing) {
- if (_newListeners == null)
+ if (_newListeners == null) {
_newListeners = newListenerCollection();
- _newListeners.addAll(_listeners);
+ _newListeners.addAll(_listeners);
+ }
_newListeners.add(listener);
} else {
if (_listeners == null)
@@ -63,9 +64,10 @@
if (listener == null)
return false;
if (_firing && _listeners.contains(listener)) {
- if (_newListeners == null)
+ if (_newListeners == null) {
_newListeners = newListenerCollection();
- _newListeners.addAll(_listeners);
+ _newListeners.addAll(_listeners);
+ }
return _newListeners.remove(listener);
}
return _listeners != null && _listeners.remove(listener);