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 2010/11/22 17:28:37 UTC
svn commit: r1037768 - in
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne:
access/DataDomain.java configuration/server/DataDomainProvider.java
Author: aadamchik
Date: Mon Nov 22 16:28:37 2010
New Revision: 1037768
URL: http://svn.apache.org/viewvc?rev=1037768&view=rev
Log:
CAY-1508 Support for DataChannel filters
* moving 'init' filter method call inside DataDomain addFilter method
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/server/DataDomainProvider.java
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java?rev=1037768&r1=1037767&r2=1037768&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java Mon Nov 22 16:28:37 2010
@@ -959,9 +959,7 @@ public class DataDomain implements Query
}
/**
- * Returns a list of filters registered with this DataDomain. The returned list allows
- * concurrent modifications, so if a caller needs to add or remove a filter, he may
- * use add/remove methods on the returned list.
+ * Returns an unmodifiable list of filters registered with this DataDomain.
* <p>
* Filter ordering note: filters are applied in reverse order of their occurrence in
* the filter list. I.e. the last filter in the list called first in the chain.
@@ -969,7 +967,26 @@ public class DataDomain implements Query
* @since 3.1
*/
public List<DataChannelFilter> getFilters() {
- return filters;
+ return Collections.unmodifiableList(filters);
+ }
+
+ /**
+ * Adds a new filter, calling its 'init' method.
+ *
+ * @since 3.1
+ */
+ public void addFilter(DataChannelFilter filter) {
+ filter.init(this);
+ filters.add(filter);
+ }
+
+ /**
+ * Removes a filter from the filter chain.
+ *
+ * @since 3.1
+ */
+ public void removeFilter(DataChannelFilter filter) {
+ filters.remove(filter);
}
abstract class DataDomainFilterChain implements DataChannelFilterChain {
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/server/DataDomainProvider.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/server/DataDomainProvider.java?rev=1037768&r1=1037767&r2=1037768&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/server/DataDomainProvider.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/configuration/server/DataDomainProvider.java Mon Nov 22 16:28:37 2010
@@ -214,8 +214,7 @@ public class DataDomainProvider implemen
}
for (DataChannelFilter filter : filters) {
- filter.init(dataDomain);
- dataDomain.getFilters().add(filter);
+ dataDomain.addFilter(filter);
}
return dataDomain;