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 2014/03/09 19:13:35 UTC
svn commit: r1575735 - in /cayenne/main/trunk:
cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/
cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/
docs/doc/src/main/resources/
Author: aadamchik
Date: Sun Mar 9 18:13:35 2014
New Revision: 1575735
URL: http://svn.apache.org/r1575735
Log:
CAY-1904 Simple injection-friendly constructor for AuditableFilter
Modified:
cayenne/main/trunk/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableFilter.java
cayenne/main/trunk/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterTest.java
cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
Modified: cayenne/main/trunk/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableFilter.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableFilter.java?rev=1575735&r1=1575734&r2=1575735&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableFilter.java (original)
+++ cayenne/main/trunk/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/audit/AuditableFilter.java Sun Mar 9 18:13:35 2014
@@ -52,15 +52,26 @@ public class AuditableFilter implements
protected AuditableProcessor processor;
protected EntityResolver entityResolver;
- public AuditableFilter(EntityResolver entityResolver, AuditableProcessor processor) {
+ /**
+ * @since 3.2
+ */
+ public AuditableFilter(AuditableProcessor processor) {
this.processor = processor;
- this.entityResolver = entityResolver;
this.entityDescriptors = new ConcurrentHashMap<String, AuditableEntityDescriptor>();
this.threadAggregator = new ThreadLocal<AuditableAggregator>();
}
+ /**
+ * @deprecated since 3.1 use {@link #AuditableFilter(AuditableProcessor)}
+ * constructor - EntityResolver will be initialized in 'init'.
+ */
+ @Deprecated
+ public AuditableFilter(EntityResolver entityResolver, AuditableProcessor processor) {
+ this(processor);
+ }
+
public void init(DataChannel channel) {
- // noop
+ this.entityResolver = channel.getEntityResolver();
}
public QueryResponse onQuery(ObjectContext originatingContext, Query query, DataChannelFilterChain filterChain) {
Modified: cayenne/main/trunk/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterTest.java?rev=1575735&r1=1575734&r2=1575735&view=diff
==============================================================================
--- cayenne/main/trunk/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterTest.java (original)
+++ cayenne/main/trunk/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/audit/AuditableFilterTest.java Sun Mar 9 18:13:35 2014
@@ -45,18 +45,24 @@ import org.mockito.stubbing.Answer;
public class AuditableFilterTest extends TestCase {
private AuditableProcessor processor;
- private EntityResolver resolver;
private ServerRuntime runtime;
+ private AuditableFilter filter;
@Override
protected void setUp() throws Exception {
- processor = mock(AuditableProcessor.class);
- resolver = mock(EntityResolver.class);
+
+ EntityResolver resolver = mock(EntityResolver.class);
ObjEntity objectEntity = new ObjEntity("CayenneDataObject");
when(resolver.lookupObjEntity(any(Object.class))).thenReturn(objectEntity);
- runtime = new ServerRuntime("cayenne-lifecycle.xml");
+ DataChannel channel = mock(DataChannel.class);
+ when(channel.getEntityResolver()).thenReturn(resolver);
+
+ this.processor = mock(AuditableProcessor.class);
+ this.runtime = new ServerRuntime("cayenne-lifecycle.xml");
+ this.filter = new AuditableFilter(processor);
+ this.filter.init(channel);
}
@Override
@@ -66,7 +72,6 @@ public class AuditableFilterTest extends
public void testInsertAudit() {
- AuditableFilter filter = new AuditableFilter(resolver, processor);
Persistent audited = mock(Persistent.class);
filter.insertAudit(audited);
filter.postSync();
@@ -76,7 +81,6 @@ public class AuditableFilterTest extends
public void testDeleteAudit() {
- AuditableFilter filter = new AuditableFilter(resolver, processor);
Persistent audited = mock(Persistent.class);
filter.deleteAudit(audited);
filter.postSync();
@@ -86,7 +90,6 @@ public class AuditableFilterTest extends
public void testUpdateAudit() {
- AuditableFilter filter = new AuditableFilter(resolver, processor);
Persistent audited = mock(Persistent.class);
filter.updateAudit(audited);
filter.postSync();
@@ -96,8 +99,6 @@ public class AuditableFilterTest extends
public void testUpdateAuditChild() {
- AuditableFilter filter = new AuditableFilter(resolver, processor);
-
Persistent auditedParent = mock(Persistent.class);
DataObject audited = new MockAuditableChild();
audited.setObjectId(new ObjectId("MockAuditableChild", "a", 1));
@@ -119,7 +120,6 @@ public class AuditableFilterTest extends
handler.relate(audited, auditedParent);
context.commitChanges();
- AuditableFilter filter = new AuditableFilter(resolver, processor);
filter.updateAuditChild(audited);
filter.postSync();
verify(processor).audit(auditedParent, AuditableOperation.UPDATE);
@@ -127,7 +127,6 @@ public class AuditableFilterTest extends
public void testOnSyncPassThrough() {
- AuditableFilter filter = new AuditableFilter(resolver, processor);
ObjectContext context = mock(ObjectContext.class);
GraphDiff changes = mock(GraphDiff.class);
@@ -142,7 +141,6 @@ public class AuditableFilterTest extends
public void testOnSyncAuditEventsCollapse() {
- final AuditableFilter filter = new AuditableFilter(resolver, processor);
ObjectContext context = mock(ObjectContext.class);
GraphDiff changes = mock(GraphDiff.class);
Modified: cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt?rev=1575735&r1=1575734&r2=1575735&view=diff
==============================================================================
--- cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt (original)
+++ cayenne/main/trunk/docs/doc/src/main/resources/RELEASE-NOTES.txt Sun Mar 9 18:13:35 2014
@@ -33,6 +33,7 @@ CAY-1894 Support native PK generation us
CAY-1899 ServerRuntimeBuilder
CAY-1900 Allow DataNode name to be used as a root of SQLTemplate
CAY-1901 Config-free ServerRuntime
+CAY-1904 Simple injection-friendly constructor for AuditableFilter
Bug Fixes: