This is an automated email from the ASF dual-hosted git repository. aadamchik pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/cayenne.git
commit 0a66e5c52e7be0a0c1d58085314254931cc0630e Author: Andrus Adamchik <[email protected]> AuthorDate: Thu Aug 6 11:46:10 2020 +0300 "modernizing" code / cleanup --- .../cayenne/commitlog/CommitLogFilter_AllIT.java | 213 ++++++++++----------- .../commitlog/CommitLogFilter_All_FlattenedIT.java | 82 ++++---- .../commitlog/CommitLogFilter_FilteredIT.java | 168 +++++++--------- .../CommitLogFilter_ListenerInducedChangesIT.java | 102 +++++----- .../commitlog/CommitLogFilter_OutsideTxIT.java | 19 +- .../cayenne/commitlog/CommitLogFilter_TxIT.java | 19 +- 6 files changed, 269 insertions(+), 334 deletions(-) diff --git a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_AllIT.java b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_AllIT.java index c8d3a5c..420e3ba 100644 --- a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_AllIT.java +++ b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_AllIT.java @@ -59,35 +59,32 @@ public class CommitLogFilter_AllIT extends AuditableServerCase { } @Test - public void testPostCommit_Insert() throws SQLException { + public void testPostCommit_Insert() { final Auditable1 a1 = context.newObject(Auditable1.class); a1.setCharProperty1("yy"); final ObjectId preCommitId = a1.getObjectId(); - doAnswer(new Answer<Object>() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { + doAnswer((Answer<Object>) invocation -> { - assertSame(context, invocation.getArguments()[0]); + assertSame(context, invocation.getArguments()[0]); - ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; - assertNotNull(changes); - assertEquals(2, changes.getChanges().size()); - assertEquals(1, changes.getUniqueChanges().size()); + ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; + assertNotNull(changes); + assertEquals(2, changes.getChanges().size()); + assertEquals(1, changes.getUniqueChanges().size()); - ObjectChange c = changes.getUniqueChanges().iterator().next(); - assertNotNull(c); - assertEquals(ObjectChangeType.INSERT, c.getType()); - assertEquals(1, c.getAttributeChanges().size()); - assertEquals("yy", c.getAttributeChanges().get(Auditable1.CHAR_PROPERTY1.getName()).getNewValue()); + ObjectChange c = changes.getUniqueChanges().iterator().next(); + assertNotNull(c); + assertEquals(ObjectChangeType.INSERT, c.getType()); + assertEquals(1, c.getAttributeChanges().size()); + assertEquals("yy", c.getAttributeChanges().get(Auditable1.CHAR_PROPERTY1.getName()).getNewValue()); - assertNotEquals(preCommitId, a1.getObjectId()); - assertEquals(preCommitId, c.getPreCommitId()); - assertEquals(a1.getObjectId(), c.getPostCommitId()); + assertNotEquals(preCommitId, a1.getObjectId()); + assertEquals(preCommitId, c.getPreCommitId()); + assertEquals(a1.getObjectId(), c.getPostCommitId()); - return null; - } + return null; }).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class)); context.commitChanges(); @@ -105,31 +102,28 @@ public class CommitLogFilter_AllIT extends AuditableServerCase { final ObjectId preCommitId = a1.getObjectId(); - doAnswer(new Answer<Object>() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { + doAnswer((Answer<Object>) invocation -> { - assertSame(context, invocation.getArguments()[0]); + assertSame(context, invocation.getArguments()[0]); - ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; - assertNotNull(changes); - assertEquals(1, changes.getUniqueChanges().size()); + ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; + assertNotNull(changes); + assertEquals(1, changes.getUniqueChanges().size()); - ObjectChange c = changes.getChanges().get(ObjectId.of("Auditable1", Auditable1.ID_PK_COLUMN, 1)); - assertNotNull(c); - assertEquals(ObjectChangeType.UPDATE, c.getType()); - assertEquals(1, c.getAttributeChanges().size()); - AttributeChange pc = c.getAttributeChanges().get(Auditable1.CHAR_PROPERTY1.getName()); - assertNotNull(pc); - assertEquals("xx", pc.getOldValue()); - assertEquals("yy", pc.getNewValue()); + ObjectChange c = changes.getChanges().get(ObjectId.of("Auditable1", Auditable1.ID_PK_COLUMN, 1)); + assertNotNull(c); + assertEquals(ObjectChangeType.UPDATE, c.getType()); + assertEquals(1, c.getAttributeChanges().size()); + AttributeChange pc = c.getAttributeChanges().get(Auditable1.CHAR_PROPERTY1.getName()); + assertNotNull(pc); + assertEquals("xx", pc.getOldValue()); + assertEquals("yy", pc.getNewValue()); - assertEquals(preCommitId, a1.getObjectId()); - assertEquals(preCommitId, c.getPreCommitId()); - assertEquals(preCommitId, c.getPostCommitId()); + assertEquals(preCommitId, a1.getObjectId()); + assertEquals(preCommitId, c.getPreCommitId()); + assertEquals(preCommitId, c.getPostCommitId()); - return null; - } + return null; }).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class)); context.commitChanges(); @@ -141,25 +135,22 @@ public class CommitLogFilter_AllIT extends AuditableServerCase { public void testPostCommit_Delete() throws SQLException { auditable1.insert(1, "xx"); - doAnswer(new Answer<Object>() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { + doAnswer((Answer<Object>) invocation -> { - assertSame(context, invocation.getArguments()[0]); + assertSame(context, invocation.getArguments()[0]); - ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; - assertNotNull(changes); - assertEquals(1, changes.getUniqueChanges().size()); + ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; + assertNotNull(changes); + assertEquals(1, changes.getUniqueChanges().size()); - ObjectChange c = changes.getChanges().get(ObjectId.of("Auditable1", Auditable1.ID_PK_COLUMN, 1)); - assertNotNull(c); - assertEquals(ObjectChangeType.DELETE, c.getType()); - assertEquals(1, c.getAttributeChanges().size()); - assertEquals("xx", c.getAttributeChanges().get(Auditable1.CHAR_PROPERTY1.getName()).getOldValue()); - assertNull(c.getAttributeChanges().get(Auditable1.CHAR_PROPERTY1.getName()).getNewValue()); + ObjectChange c = changes.getChanges().get(ObjectId.of("Auditable1", Auditable1.ID_PK_COLUMN, 1)); + assertNotNull(c); + assertEquals(ObjectChangeType.DELETE, c.getType()); + assertEquals(1, c.getAttributeChanges().size()); + assertEquals("xx", c.getAttributeChanges().get(Auditable1.CHAR_PROPERTY1.getName()).getOldValue()); + assertNull(c.getAttributeChanges().get(Auditable1.CHAR_PROPERTY1.getName()).getNewValue()); - return null; - } + return null; }).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class)); Auditable1 a1 = SelectById.query(Auditable1.class, 1).selectOne(context); @@ -185,45 +176,42 @@ public class CommitLogFilter_AllIT extends AuditableServerCase { final Auditable1 a1 = SelectById.query(Auditable1.class, 1).selectOne(context); final Auditable1 a2 = SelectById.query(Auditable1.class, 2).selectOne(context); - doAnswer(new Answer<Object>() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { - - assertSame(context, invocation.getArguments()[0]); - - ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; - assertNotNull(changes); - assertEquals(4, changes.getUniqueChanges().size()); - - ObjectChange ac1c = changes.getChanges().get( - ObjectId.of("AuditableChild1", AuditableChild1.ID_PK_COLUMN, 1)); - assertNotNull(ac1c); - assertEquals(ObjectChangeType.UPDATE, ac1c.getType()); - ToOneRelationshipChange ac1c1 = ac1c.getToOneRelationshipChanges() - .get(AuditableChild1.PARENT.getName()); - assertEquals(a1.getObjectId(), ac1c1.getOldValue()); - assertNull(ac1c1.getNewValue()); - - ObjectChange ac2c = changes.getChanges().get( - ObjectId.of("AuditableChild1", AuditableChild1.ID_PK_COLUMN, 2)); - assertNotNull(ac2c); - assertEquals(ObjectChangeType.UPDATE, ac2c.getType()); - ToOneRelationshipChange ac2c1 = ac2c.getToOneRelationshipChanges() - .get(AuditableChild1.PARENT.getName()); - assertEquals(a2.getObjectId(), ac2c1.getOldValue()); - assertEquals(a1.getObjectId(), ac2c1.getNewValue()); - - ObjectChange ac3c = changes.getChanges().get( - ObjectId.of("AuditableChild1", AuditableChild1.ID_PK_COLUMN, 3)); - assertNotNull(ac3c); - assertEquals(ObjectChangeType.UPDATE, ac3c.getType()); - ToOneRelationshipChange ac3c1 = ac3c.getToOneRelationshipChanges() - .get(AuditableChild1.PARENT.getName()); - assertEquals(null, ac3c1.getOldValue()); - assertEquals(a1.getObjectId(), ac3c1.getNewValue()); - - return null; - } + doAnswer((Answer<Object>) invocation -> { + + assertSame(context, invocation.getArguments()[0]); + + ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; + assertNotNull(changes); + assertEquals(4, changes.getUniqueChanges().size()); + + ObjectChange ac1c = changes.getChanges().get( + ObjectId.of("AuditableChild1", AuditableChild1.ID_PK_COLUMN, 1)); + assertNotNull(ac1c); + assertEquals(ObjectChangeType.UPDATE, ac1c.getType()); + ToOneRelationshipChange ac1c1 = ac1c.getToOneRelationshipChanges() + .get(AuditableChild1.PARENT.getName()); + assertEquals(a1.getObjectId(), ac1c1.getOldValue()); +assertNull(ac1c1.getNewValue()); + + ObjectChange ac2c = changes.getChanges().get( + ObjectId.of("AuditableChild1", AuditableChild1.ID_PK_COLUMN, 2)); + assertNotNull(ac2c); + assertEquals(ObjectChangeType.UPDATE, ac2c.getType()); + ToOneRelationshipChange ac2c1 = ac2c.getToOneRelationshipChanges() + .get(AuditableChild1.PARENT.getName()); + assertEquals(a2.getObjectId(), ac2c1.getOldValue()); + assertEquals(a1.getObjectId(), ac2c1.getNewValue()); + + ObjectChange ac3c = changes.getChanges().get( + ObjectId.of("AuditableChild1", AuditableChild1.ID_PK_COLUMN, 3)); + assertNotNull(ac3c); + assertEquals(ObjectChangeType.UPDATE, ac3c.getType()); + ToOneRelationshipChange ac3c1 = ac3c.getToOneRelationshipChanges() + .get(AuditableChild1.PARENT.getName()); + assertNull(ac3c1.getOldValue()); + assertEquals(a1.getObjectId(), ac3c1.getNewValue()); + + return null; }).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class)); a1.removeFromChildren1(ac1); @@ -248,35 +236,32 @@ public class CommitLogFilter_AllIT extends AuditableServerCase { final Auditable1 a1 = SelectById.query(Auditable1.class, 1).selectOne(context); - doAnswer(new Answer<Object>() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { + doAnswer((Answer<Object>) invocation -> { - assertSame(context, invocation.getArguments()[0]); + assertSame(context, invocation.getArguments()[0]); - ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; - assertNotNull(changes); - assertEquals(4, changes.getUniqueChanges().size()); + ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; + assertNotNull(changes); + assertEquals(4, changes.getUniqueChanges().size()); - ObjectChange a1c = changes.getChanges().get(ObjectId.of("Auditable1", Auditable1.ID_PK_COLUMN, 1)); - assertNotNull(a1c); - assertEquals(ObjectChangeType.UPDATE, a1c.getType()); - assertEquals(0, a1c.getAttributeChanges().size()); + ObjectChange a1c = changes.getChanges().get(ObjectId.of("Auditable1", Auditable1.ID_PK_COLUMN, 1)); + assertNotNull(a1c); + assertEquals(ObjectChangeType.UPDATE, a1c.getType()); + assertEquals(0, a1c.getAttributeChanges().size()); - assertEquals(1, a1c.getToManyRelationshipChanges().size()); + assertEquals(1, a1c.getToManyRelationshipChanges().size()); - ToManyRelationshipChange a1c1 = a1c.getToManyRelationshipChanges().get(Auditable1.CHILDREN1.getName()); - assertNotNull(a1c1); + ToManyRelationshipChange a1c1 = a1c.getToManyRelationshipChanges().get(Auditable1.CHILDREN1.getName()); + assertNotNull(a1c1); - assertEquals(2, a1c1.getAdded().size()); - assertTrue(a1c1.getAdded().contains(ac2.getObjectId())); - assertTrue(a1c1.getAdded().contains(ac3.getObjectId())); + assertEquals(2, a1c1.getAdded().size()); + assertTrue(a1c1.getAdded().contains(ac2.getObjectId())); + assertTrue(a1c1.getAdded().contains(ac3.getObjectId())); - assertEquals(1, a1c1.getRemoved().size()); - assertTrue(a1c1.getRemoved().contains(ac1.getObjectId())); + assertEquals(1, a1c1.getRemoved().size()); + assertTrue(a1c1.getRemoved().contains(ac1.getObjectId())); - return null; - } + return null; }).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class)); a1.removeFromChildren1(ac1); diff --git a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_All_FlattenedIT.java b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_All_FlattenedIT.java index 6bfd28c..605e84d 100644 --- a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_All_FlattenedIT.java +++ b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_All_FlattenedIT.java @@ -31,7 +31,6 @@ import org.apache.cayenne.configuration.server.ServerRuntimeBuilder; import org.apache.cayenne.query.SelectById; import org.junit.Before; import org.junit.Test; -import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; import java.sql.SQLException; @@ -67,61 +66,58 @@ public class CommitLogFilter_All_FlattenedIT extends FlattenedServerCase { final E4 e4_1 = SelectById.query(E4.class, 11).selectOne(context); final E4 e4_2 = SelectById.query(E4.class, 12).selectOne(context); - doAnswer(new Answer<Object>() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { + doAnswer((Answer<Object>) invocation -> { - assertSame(context, invocation.getArguments()[0]); + assertSame(context, invocation.getArguments()[0]); - ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; - assertNotNull(changes); - assertEquals(3, changes.getUniqueChanges().size()); + ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; + assertNotNull(changes); + assertEquals(3, changes.getUniqueChanges().size()); - ObjectChange e3c = changes.getChanges().get(ObjectId.of("E3", E3.ID_PK_COLUMN, 1)); - assertNotNull(e3c); - assertEquals(ObjectChangeType.UPDATE, e3c.getType()); - assertEquals(0, e3c.getAttributeChanges().size()); - assertEquals(1, e3c.getToManyRelationshipChanges().size()); + ObjectChange e3c = changes.getChanges().get(ObjectId.of("E3", E3.ID_PK_COLUMN, 1)); + assertNotNull(e3c); + assertEquals(ObjectChangeType.UPDATE, e3c.getType()); + assertEquals(0, e3c.getAttributeChanges().size()); + assertEquals(1, e3c.getToManyRelationshipChanges().size()); - ToManyRelationshipChange e3c1 = e3c.getToManyRelationshipChanges().get(E3.E4S.getName()); - assertNotNull(e3c1); + ToManyRelationshipChange e3c1 = e3c.getToManyRelationshipChanges().get(E3.E4S.getName()); + assertNotNull(e3c1); - assertEquals(1, e3c1.getAdded().size()); - assertTrue(e3c1.getAdded().contains(e4_2.getObjectId())); + assertEquals(1, e3c1.getAdded().size()); + assertTrue(e3c1.getAdded().contains(e4_2.getObjectId())); - assertEquals(1, e3c1.getRemoved().size()); - assertTrue(e3c1.getRemoved().contains(e4_1.getObjectId())); - - ObjectChange e41c = changes.getChanges().get(ObjectId.of("E4", E4.ID_PK_COLUMN, 11)); - assertNotNull(e41c); - assertEquals(ObjectChangeType.UPDATE, e41c.getType()); - assertEquals(0, e41c.getAttributeChanges().size()); - assertEquals(1, e41c.getToManyRelationshipChanges().size()); + assertEquals(1, e3c1.getRemoved().size()); + assertTrue(e3c1.getRemoved().contains(e4_1.getObjectId())); - ToManyRelationshipChange e41c1 = e41c.getToManyRelationshipChanges().get(E4.E3S.getName()); - assertNotNull(e41c); + ObjectChange e41c = changes.getChanges().get(ObjectId.of("E4", E4.ID_PK_COLUMN, 11)); + assertNotNull(e41c); + assertEquals(ObjectChangeType.UPDATE, e41c.getType()); + assertEquals(0, e41c.getAttributeChanges().size()); + assertEquals(1, e41c.getToManyRelationshipChanges().size()); - assertEquals(0, e41c1.getAdded().size()); + ToManyRelationshipChange e41c1 = e41c.getToManyRelationshipChanges().get(E4.E3S.getName()); + assertNotNull(e41c); - assertEquals(1, e41c1.getRemoved().size()); - assertTrue(e41c1.getRemoved().contains(e3.getObjectId())); - - ObjectChange e42c = changes.getChanges().get(ObjectId.of("E4", E4.ID_PK_COLUMN, 12)); - assertNotNull(e42c); - assertEquals(ObjectChangeType.UPDATE, e42c.getType()); - assertEquals(0, e42c.getAttributeChanges().size()); - assertEquals(1, e42c.getToManyRelationshipChanges().size()); + assertEquals(0, e41c1.getAdded().size()); - ToManyRelationshipChange e42c1 = e42c.getToManyRelationshipChanges().get(E4.E3S.getName()); - assertNotNull(e42c); + assertEquals(1, e41c1.getRemoved().size()); + assertTrue(e41c1.getRemoved().contains(e3.getObjectId())); - assertEquals(0, e42c1.getRemoved().size()); + ObjectChange e42c = changes.getChanges().get(ObjectId.of("E4", E4.ID_PK_COLUMN, 12)); + assertNotNull(e42c); + assertEquals(ObjectChangeType.UPDATE, e42c.getType()); + assertEquals(0, e42c.getAttributeChanges().size()); + assertEquals(1, e42c.getToManyRelationshipChanges().size()); - assertEquals(1, e42c1.getAdded().size()); - assertTrue(e42c1.getAdded().contains(e3.getObjectId())); + ToManyRelationshipChange e42c1 = e42c.getToManyRelationshipChanges().get(E4.E3S.getName()); + assertNotNull(e42c); - return null; - } + assertEquals(0, e42c1.getRemoved().size()); + + assertEquals(1, e42c1.getAdded().size()); + assertTrue(e42c1.getAdded().contains(e3.getObjectId())); + + return null; }).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class)); e3.removeFromE4s(e4_1); diff --git a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_FilteredIT.java b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_FilteredIT.java index 5821f46..a19f24a 100644 --- a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_FilteredIT.java +++ b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_FilteredIT.java @@ -35,7 +35,6 @@ import org.apache.cayenne.configuration.server.ServerRuntimeBuilder; import org.apache.cayenne.query.SelectById; import org.junit.Before; import org.junit.Test; -import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; import java.sql.SQLException; @@ -62,29 +61,26 @@ public class CommitLogFilter_FilteredIT extends AuditableServerCase { } @Test - public void testPostCommit_Insert() throws SQLException { + public void testPostCommit_Insert() { - doAnswer(new Answer<Object>() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { + doAnswer((Answer<Object>) invocation -> { - assertSame(context, invocation.getArguments()[0]); + assertSame(context, invocation.getArguments()[0]); - ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; - assertNotNull(changes); - assertEquals(2, changes.getChanges().size()); - assertEquals(1, changes.getUniqueChanges().size()); + ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; + assertNotNull(changes); + assertEquals(2, changes.getChanges().size()); + assertEquals(1, changes.getUniqueChanges().size()); - ObjectChange c = changes.getUniqueChanges().iterator().next(); - assertNotNull(c); - assertEquals(ObjectChangeType.INSERT, c.getType()); - assertEquals(1, c.getAttributeChanges().size()); + ObjectChange c = changes.getUniqueChanges().iterator().next(); + assertNotNull(c); + assertEquals(ObjectChangeType.INSERT, c.getType()); + assertEquals(1, c.getAttributeChanges().size()); - assertEquals(Confidential.getInstance(), - c.getAttributeChanges().get(Auditable2.CHAR_PROPERTY2.getName()).getNewValue()); + assertEquals(Confidential.getInstance(), + c.getAttributeChanges().get(Auditable2.CHAR_PROPERTY2.getName()).getNewValue()); - return null; - } + return null; }).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class)); Auditable2 a1 = context.newObject(Auditable2.class); @@ -99,27 +95,24 @@ public class CommitLogFilter_FilteredIT extends AuditableServerCase { public void testPostCommit_Update() throws SQLException { auditable2.insert(1, "P1_1", "P2_1"); - doAnswer(new Answer<Object>() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { + doAnswer((Answer<Object>) invocation -> { - assertSame(context, invocation.getArguments()[0]); + assertSame(context, invocation.getArguments()[0]); - ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; - assertNotNull(changes); - assertEquals(1, changes.getUniqueChanges().size()); + ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; + assertNotNull(changes); + assertEquals(1, changes.getUniqueChanges().size()); - ObjectChange c = changes.getChanges().get(ObjectId.of("Auditable2", Auditable2.ID_PK_COLUMN, 1)); - assertNotNull(c); - assertEquals(ObjectChangeType.UPDATE, c.getType()); - assertEquals(1, c.getAttributeChanges().size()); - AttributeChange pc = c.getAttributeChanges().get(Auditable2.CHAR_PROPERTY2.getName()); - assertNotNull(pc); - assertEquals(Confidential.getInstance(), pc.getOldValue()); - assertEquals(Confidential.getInstance(), pc.getNewValue()); + ObjectChange c = changes.getChanges().get(ObjectId.of("Auditable2", Auditable2.ID_PK_COLUMN, 1)); + assertNotNull(c); + assertEquals(ObjectChangeType.UPDATE, c.getType()); + assertEquals(1, c.getAttributeChanges().size()); + AttributeChange pc = c.getAttributeChanges().get(Auditable2.CHAR_PROPERTY2.getName()); + assertNotNull(pc); + assertEquals(Confidential.getInstance(), pc.getOldValue()); + assertEquals(Confidential.getInstance(), pc.getNewValue()); - return null; - } + return null; }).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class)); Auditable2 a1 = SelectById.query(Auditable2.class, 1).selectOne(context); @@ -134,25 +127,22 @@ public class CommitLogFilter_FilteredIT extends AuditableServerCase { public void testPostCommit_Delete() throws SQLException { auditable2.insert(1, "P1_1", "P2_1"); - doAnswer(new Answer<Object>() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { + doAnswer((Answer<Object>) invocation -> { - assertSame(context, invocation.getArguments()[0]); + assertSame(context, invocation.getArguments()[0]); - ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; - assertNotNull(changes); - assertEquals(1, changes.getUniqueChanges().size()); + ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; + assertNotNull(changes); + assertEquals(1, changes.getUniqueChanges().size()); - ObjectChange c = changes.getChanges().get(ObjectId.of("Auditable2", Auditable2.ID_PK_COLUMN, 1)); - assertNotNull(c); - assertEquals(ObjectChangeType.DELETE, c.getType()); - assertEquals(1, c.getAttributeChanges().size()); - assertEquals(Confidential.getInstance(), - c.getAttributeChanges().get(Auditable2.CHAR_PROPERTY2.getName()).getOldValue()); + ObjectChange c = changes.getChanges().get(ObjectId.of("Auditable2", Auditable2.ID_PK_COLUMN, 1)); + assertNotNull(c); + assertEquals(ObjectChangeType.DELETE, c.getType()); + assertEquals(1, c.getAttributeChanges().size()); + assertEquals(Confidential.getInstance(), + c.getAttributeChanges().get(Auditable2.CHAR_PROPERTY2.getName()).getOldValue()); - return null; - } + return null; }).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class)); Auditable2 a1 = SelectById.query(Auditable2.class, 1).selectOne(context); @@ -175,35 +165,32 @@ public class CommitLogFilter_FilteredIT extends AuditableServerCase { final Auditable1 a1 = SelectById.query(Auditable1.class, 1).selectOne(context); - doAnswer(new Answer<Object>() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { + doAnswer((Answer<Object>) invocation -> { - assertSame(context, invocation.getArguments()[0]); + assertSame(context, invocation.getArguments()[0]); - ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; - assertNotNull(changes); - assertEquals(1, changes.getUniqueChanges().size()); + ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; + assertNotNull(changes); + assertEquals(1, changes.getUniqueChanges().size()); - ObjectChange a1c = changes.getChanges().get(ObjectId.of("Auditable1", Auditable1.ID_PK_COLUMN, 1)); - assertNotNull(a1c); - assertEquals(ObjectChangeType.UPDATE, a1c.getType()); - assertEquals(0, a1c.getAttributeChanges().size()); + ObjectChange a1c = changes.getChanges().get(ObjectId.of("Auditable1", Auditable1.ID_PK_COLUMN, 1)); + assertNotNull(a1c); + assertEquals(ObjectChangeType.UPDATE, a1c.getType()); + assertEquals(0, a1c.getAttributeChanges().size()); - assertEquals(1, a1c.getToManyRelationshipChanges().size()); + assertEquals(1, a1c.getToManyRelationshipChanges().size()); - ToManyRelationshipChange a1c1 = a1c.getToManyRelationshipChanges().get(Auditable1.CHILDREN1.getName()); - assertNotNull(a1c1); + ToManyRelationshipChange a1c1 = a1c.getToManyRelationshipChanges().get(Auditable1.CHILDREN1.getName()); + assertNotNull(a1c1); - assertEquals(2, a1c1.getAdded().size()); - assertTrue(a1c1.getAdded().contains(ac2.getObjectId())); - assertTrue(a1c1.getAdded().contains(ac3.getObjectId())); + assertEquals(2, a1c1.getAdded().size()); + assertTrue(a1c1.getAdded().contains(ac2.getObjectId())); + assertTrue(a1c1.getAdded().contains(ac3.getObjectId())); - assertEquals(1, a1c1.getRemoved().size()); - assertTrue(a1c1.getRemoved().contains(ac1.getObjectId())); + assertEquals(1, a1c1.getRemoved().size()); + assertTrue(a1c1.getRemoved().contains(ac1.getObjectId())); - return null; - } + return null; }).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class)); a1.removeFromChildren1(ac1); @@ -222,17 +209,14 @@ public class CommitLogFilter_FilteredIT extends AuditableServerCase { final Auditable3 a3 = SelectById.query(Auditable3.class, 1).selectOne(context); - doAnswer(new Answer<Object>() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { + doAnswer((Answer<Object>) invocation -> { - assertSame(context, invocation.getArguments()[0]); + assertSame(context, invocation.getArguments()[0]); - ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; - assertNull(changes.getChanges().get(ObjectId.of("Auditable3", Auditable3.ID_PK_COLUMN, 1))); + ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; + assertNull(changes.getChanges().get(ObjectId.of("Auditable3", Auditable3.ID_PK_COLUMN, 1))); - return null; - } + return null; }).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class)); a3.setCharProperty1("33"); @@ -254,17 +238,14 @@ public class CommitLogFilter_FilteredIT extends AuditableServerCase { final Auditable4 a41 = SelectById.query(Auditable4.class, 11).selectOne(context); final Auditable4 a42 = SelectById.query(Auditable4.class, 12).selectOne(context); - doAnswer(new Answer<Object>() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { + doAnswer((Answer<Object>) invocation -> { - assertSame(context, invocation.getArguments()[0]); + assertSame(context, invocation.getArguments()[0]); - ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; - assertNull(changes.getChanges().get(ObjectId.of("Auditable3", Auditable3.ID_PK_COLUMN, 1))); + ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; + assertNull(changes.getChanges().get(ObjectId.of("Auditable3", Auditable3.ID_PK_COLUMN, 1))); - return null; - } + return null; }).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class)); a3.removeFromAuditable4s(a41); @@ -286,17 +267,14 @@ public class CommitLogFilter_FilteredIT extends AuditableServerCase { final Auditable4 a4 = SelectById.query(Auditable4.class, 11).selectOne(context); - doAnswer(new Answer<Object>() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { + doAnswer((Answer<Object>) invocation -> { - assertSame(context, invocation.getArguments()[0]); + assertSame(context, invocation.getArguments()[0]); - ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; - assertNull(changes.getChanges().get(ObjectId.of("Auditable4", Auditable4.ID_PK_COLUMN, 11))); + ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; + assertNull(changes.getChanges().get(ObjectId.of("Auditable4", Auditable4.ID_PK_COLUMN, 11))); - return null; - } + return null; }).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class)); a4.setAuditable3(a32); diff --git a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_ListenerInducedChangesIT.java b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_ListenerInducedChangesIT.java index e84f6dd..7a401d1 100644 --- a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_ListenerInducedChangesIT.java +++ b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_ListenerInducedChangesIT.java @@ -38,7 +38,6 @@ import org.mockito.stubbing.Answer; import java.sql.SQLException; import java.util.ArrayList; -import java.util.Collections; import java.util.Comparator; import java.util.List; @@ -66,7 +65,7 @@ public class CommitLogFilter_ListenerInducedChangesIT extends AuditableServerCas } @Test - public void testPostCommit_Insert() throws SQLException { + public void testPostCommit_Insert() { final InsertListener listener = new InsertListener(); runtime.getDataDomain().addListener(listener); @@ -74,29 +73,26 @@ public class CommitLogFilter_ListenerInducedChangesIT extends AuditableServerCas final Auditable1 a1 = context.newObject(Auditable1.class); a1.setCharProperty1("yy"); - doAnswer(new Answer<Object>() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { + doAnswer((Answer<Object>) invocation -> { - assertNotNull(listener.c); + assertNotNull(listener.c); - List<ObjectChange> sortedChanges = sortedChanges(invocation); + List<ObjectChange> sortedChanges = sortedChanges(invocation); - assertEquals(2, sortedChanges.size()); + assertEquals(2, sortedChanges.size()); - assertEquals(a1.getObjectId(), sortedChanges.get(0).getPostCommitId()); - assertEquals(ObjectChangeType.INSERT, sortedChanges.get(0).getType()); + assertEquals(a1.getObjectId(), sortedChanges.get(0).getPostCommitId()); + assertEquals(ObjectChangeType.INSERT, sortedChanges.get(0).getType()); - assertEquals(listener.c.getObjectId(), sortedChanges.get(1).getPostCommitId()); - assertEquals(ObjectChangeType.INSERT, sortedChanges.get(1).getType()); + assertEquals(listener.c.getObjectId(), sortedChanges.get(1).getPostCommitId()); + assertEquals(ObjectChangeType.INSERT, sortedChanges.get(1).getType()); - AttributeChange listenerInducedChange = sortedChanges.get(1).getAttributeChanges() - .get(AuditableChild1.CHAR_PROPERTY1.getName()); - assertNotNull(listenerInducedChange); - assertEquals("c1", listenerInducedChange.getNewValue()); + AttributeChange listenerInducedChange = sortedChanges.get(1).getAttributeChanges() + .get(AuditableChild1.CHAR_PROPERTY1.getName()); + assertNotNull(listenerInducedChange); + assertEquals("c1", listenerInducedChange.getNewValue()); - return null; - } + return null; }).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class)); context.commitChanges(); @@ -117,30 +113,27 @@ public class CommitLogFilter_ListenerInducedChangesIT extends AuditableServerCas .selectFirst(context); a1.setCharProperty1("zz"); - doAnswer(new Answer<Object>() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { + doAnswer((Answer<Object>) invocation -> { - assertNotNull(listener.toDelete); - assertEquals(1, listener.toDelete.size()); + assertNotNull(listener.toDelete); + assertEquals(1, listener.toDelete.size()); - List<ObjectChange> sortedChanges = sortedChanges(invocation); + List<ObjectChange> sortedChanges = sortedChanges(invocation); - assertEquals(2, sortedChanges.size()); + assertEquals(2, sortedChanges.size()); - assertEquals(ObjectChangeType.UPDATE, sortedChanges.get(0).getType()); - assertEquals(a1.getObjectId(), sortedChanges.get(0).getPostCommitId()); + assertEquals(ObjectChangeType.UPDATE, sortedChanges.get(0).getType()); + assertEquals(a1.getObjectId(), sortedChanges.get(0).getPostCommitId()); - assertEquals(ObjectChangeType.DELETE, sortedChanges.get(1).getType()); - assertEquals(listener.toDelete.get(0).getObjectId(), sortedChanges.get(1).getPostCommitId()); + assertEquals(ObjectChangeType.DELETE, sortedChanges.get(1).getType()); + assertEquals(listener.toDelete.get(0).getObjectId(), sortedChanges.get(1).getPostCommitId()); - AttributeChange listenerInducedChange = sortedChanges.get(1).getAttributeChanges() - .get(AuditableChild1.CHAR_PROPERTY1.getName()); - assertNotNull(listenerInducedChange); - assertEquals("yyc", listenerInducedChange.getOldValue()); + AttributeChange listenerInducedChange = sortedChanges.get(1).getAttributeChanges() + .get(AuditableChild1.CHAR_PROPERTY1.getName()); + assertNotNull(listenerInducedChange); + assertEquals("yyc", listenerInducedChange.getOldValue()); - return null; - } + return null; }).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class)); context.commitChanges(); @@ -161,31 +154,28 @@ public class CommitLogFilter_ListenerInducedChangesIT extends AuditableServerCas .selectFirst(context); a1.setCharProperty1("zz"); - doAnswer(new Answer<Object>() { - @Override - public Object answer(InvocationOnMock invocation) throws Throwable { + doAnswer((Answer<Object>) invocation -> { - assertNotNull(listener.toUpdate); - assertEquals(1, listener.toUpdate.size()); + assertNotNull(listener.toUpdate); + assertEquals(1, listener.toUpdate.size()); - List<ObjectChange> sortedChanges = sortedChanges(invocation); + List<ObjectChange> sortedChanges = sortedChanges(invocation); - assertEquals(2, sortedChanges.size()); + assertEquals(2, sortedChanges.size()); - assertEquals(ObjectChangeType.UPDATE, sortedChanges.get(0).getType()); - assertEquals(a1.getObjectId(), sortedChanges.get(0).getPostCommitId()); + assertEquals(ObjectChangeType.UPDATE, sortedChanges.get(0).getType()); + assertEquals(a1.getObjectId(), sortedChanges.get(0).getPostCommitId()); - assertEquals(ObjectChangeType.UPDATE, sortedChanges.get(1).getType()); - assertEquals(listener.toUpdate.get(0).getObjectId(), sortedChanges.get(1).getPostCommitId()); + assertEquals(ObjectChangeType.UPDATE, sortedChanges.get(1).getType()); + assertEquals(listener.toUpdate.get(0).getObjectId(), sortedChanges.get(1).getPostCommitId()); - AttributeChange listenerInducedChange = sortedChanges.get(1).getAttributeChanges() - .get(AuditableChild1.CHAR_PROPERTY1.getName()); - assertNotNull(listenerInducedChange); - assertEquals("yyc", listenerInducedChange.getOldValue()); - assertEquals("yyc_", listenerInducedChange.getNewValue()); + AttributeChange listenerInducedChange = sortedChanges.get(1).getAttributeChanges() + .get(AuditableChild1.CHAR_PROPERTY1.getName()); + assertNotNull(listenerInducedChange); + assertEquals("yyc", listenerInducedChange.getOldValue()); + assertEquals("yyc_", listenerInducedChange.getNewValue()); - return null; - } + return null; }).when(mockListener).onPostCommit(any(ObjectContext.class), any(ChangeMap.class)); context.commitChanges(); @@ -199,11 +189,7 @@ public class CommitLogFilter_ListenerInducedChangesIT extends AuditableServerCas ChangeMap changes = (ChangeMap) invocation.getArguments()[1]; List<ObjectChange> sortedChanges = new ArrayList<>(changes.getUniqueChanges()); - Collections.sort(sortedChanges, new Comparator<ObjectChange>() { - public int compare(ObjectChange o1, ObjectChange o2) { - return o1.getPostCommitId().getEntityName().compareTo(o2.getPostCommitId().getEntityName()); - } - }); + sortedChanges.sort(Comparator.comparing(o -> o.getPostCommitId().getEntityName())); return sortedChanges; } diff --git a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_OutsideTxIT.java b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_OutsideTxIT.java index 2a7cdd5..45513ed 100644 --- a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_OutsideTxIT.java +++ b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_OutsideTxIT.java @@ -21,7 +21,6 @@ package org.apache.cayenne.commitlog; import org.apache.cayenne.ObjectContext; import org.apache.cayenne.commitlog.db.AuditLog; import org.apache.cayenne.commitlog.db.Auditable2; -import org.apache.cayenne.commitlog.model.ChangeMap; import org.apache.cayenne.commitlog.model.ObjectChange; import org.apache.cayenne.commitlog.unit.AuditableServerCase; import org.apache.cayenne.configuration.server.ServerRuntimeBuilder; @@ -42,19 +41,15 @@ public class CommitLogFilter_OutsideTxIT extends AuditableServerCase { @Override protected ServerRuntimeBuilder configureCayenne() { - this.listener = new CommitLogListener() { + this.listener = (originatingContext, changes) -> { - @Override - public void onPostCommit(ObjectContext originatingContext, ChangeMap changes) { + // assert we are inside transaction + assertNull(BaseTransaction.getThreadTransaction()); - // assert we are inside transaction - assertNull(BaseTransaction.getThreadTransaction()); - - for (ObjectChange c : changes.getUniqueChanges()) { - AuditLog log = runtime.newContext().newObject(AuditLog.class); - log.setLog("DONE: " + c.getPostCommitId()); - log.getObjectContext().commitChanges(); - } + for (ObjectChange c : changes.getUniqueChanges()) { + AuditLog log = runtime.newContext().newObject(AuditLog.class); + log.setLog("DONE: " + c.getPostCommitId()); + log.getObjectContext().commitChanges(); } }; return super.configureCayenne().addModule( diff --git a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_TxIT.java b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_TxIT.java index d76963d..63a9b6e 100644 --- a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_TxIT.java +++ b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/CommitLogFilter_TxIT.java @@ -21,7 +21,6 @@ package org.apache.cayenne.commitlog; import org.apache.cayenne.ObjectContext; import org.apache.cayenne.commitlog.db.AuditLog; import org.apache.cayenne.commitlog.db.Auditable2; -import org.apache.cayenne.commitlog.model.ChangeMap; import org.apache.cayenne.commitlog.model.ObjectChange; import org.apache.cayenne.commitlog.unit.AuditableServerCase; import org.apache.cayenne.configuration.server.ServerRuntimeBuilder; @@ -42,19 +41,15 @@ public class CommitLogFilter_TxIT extends AuditableServerCase { @Override protected ServerRuntimeBuilder configureCayenne() { - this.listener = new CommitLogListener() { + this.listener = (originatingContext, changes) -> { - @Override - public void onPostCommit(ObjectContext originatingContext, ChangeMap changes) { + // assert we are inside transaction + assertNotNull(BaseTransaction.getThreadTransaction()); - // assert we are inside transaction - assertNotNull(BaseTransaction.getThreadTransaction()); - - for (ObjectChange c : changes.getUniqueChanges()) { - AuditLog log = runtime.newContext().newObject(AuditLog.class); - log.setLog("DONE: " + c.getPostCommitId()); - log.getObjectContext().commitChanges(); - } + for (ObjectChange c : changes.getUniqueChanges()) { + AuditLog log = runtime.newContext().newObject(AuditLog.class); + log.setLog("DONE: " + c.getPostCommitId()); + log.getObjectContext().commitChanges(); } }; return super.configureCayenne().addModule(
