You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2008/01/03 10:47:39 UTC
svn commit: r608394 - in
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map:
EntityListenerFactory.java EntityResolver.java
Author: aadamchik
Date: Thu Jan 3 01:47:38 2008
New Revision: 608394
URL: http://svn.apache.org/viewvc?rev=608394&view=rev
Log:
CAY-949 Factory for lifecycle listeners
(support for nulls returned from the factory indicating listener suppression)
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityListenerFactory.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityResolver.java
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityListenerFactory.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityListenerFactory.java?rev=608394&r1=608393&r2=608394&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityListenerFactory.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityListenerFactory.java Thu Jan 3 01:47:38 2008
@@ -34,6 +34,9 @@
* Creates an instance of entity listener of a given class. "entity" parameter denotes
* ObjEntity for which the listener is installed. It is null if this is a default
* listener.
+ *
+ * @return a listener of the given class. May return null to indicate that a
+ * configured listener should be suppressed.
*/
<T> T createListener(Class<T> listenerClass, ObjEntity entity);
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityResolver.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityResolver.java?rev=608394&r1=608393&r2=608394&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityResolver.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/EntityResolver.java Thu Jan 3 01:47:38 2008
@@ -205,6 +205,9 @@
for (EntityListener listener : map.getDefaultEntityListeners()) {
Object listenerInstance = createListener(listener, null);
+ if(listenerInstance == null) {
+ continue;
+ }
CallbackDescriptor[] callbacks = listener
.getCallbackMap()
@@ -228,6 +231,9 @@
// external listeners go first, entity's own callbacks go next
for (EntityListener listener : entity.getEntityListeners()) {
Object listenerInstance = createListener(listener, entity);
+ if(listenerInstance == null) {
+ continue;
+ }
CallbackDescriptor[] callbacks = listener
.getCallbackMap()