Refactor PrivateMessageHeader to ConversationMessageHeader base-class

This is preparation for adding attachments to private messages
This commit is contained in:
Torsten Grote
2018-10-30 11:42:30 -03:00
parent 391732b239
commit e3abff5ad8
66 changed files with 310 additions and 242 deletions

View File

@@ -24,6 +24,7 @@ import org.briarproject.bramble.api.sync.MessageId;
import org.briarproject.bramble.test.TestDatabaseModule;
import org.briarproject.briar.api.client.ProtocolStateException;
import org.briarproject.briar.api.client.SessionId;
import org.briarproject.briar.api.conversation.ConversationMessageHeader;
import org.briarproject.briar.api.introduction.IntroductionManager;
import org.briarproject.briar.api.introduction.IntroductionRequest;
import org.briarproject.briar.api.introduction.IntroductionResponse;
@@ -297,7 +298,7 @@ public class IntroductionIntegrationTest
Group g1 = introductionManager0.getContactGroup(introducee1);
Group g2 = introductionManager0.getContactGroup(introducee2);
Collection<PrivateMessageHeader> messages =
Collection<ConversationMessageHeader> messages =
db0.transactionWithResult(true, txn -> introductionManager0
.getMessageHeaders(txn, contactId1From0));
assertEquals(2, messages.size());
@@ -363,7 +364,7 @@ public class IntroductionIntegrationTest
assertFalse(contactManager2
.contactExists(author1.getId(), author2.getId()));
Collection<PrivateMessageHeader> messages =
Collection<ConversationMessageHeader> messages =
db0.transactionWithResult(true, txn -> introductionManager0
.getMessageHeaders(txn, contactId1From0));
assertEquals(2, messages.size());
@@ -1102,31 +1103,31 @@ public class IntroductionIntegrationTest
}
private void assertDefaultUiMessages() throws DbException {
Collection<PrivateMessageHeader> messages =
Collection<ConversationMessageHeader> messages =
db0.transactionWithResult(true, txn -> introductionManager0
.getMessageHeaders(txn, contactId1From0));
assertEquals(2, messages.size());
assertMessagesAreAcked(messages);
messages = db0.transactionWithResult(true,
txn -> introductionManager0.getMessageHeaders(txn, contactId2From0));
messages = db0.transactionWithResult(true, txn -> introductionManager0
.getMessageHeaders(txn, contactId2From0));
assertEquals(2, messages.size());
assertMessagesAreAcked(messages);
messages = db1.transactionWithResult(true,
txn -> introductionManager1.getMessageHeaders(txn, contactId0From1));
messages = db1.transactionWithResult(true, txn -> introductionManager1
.getMessageHeaders(txn, contactId0From1));
assertEquals(2, messages.size());
assertMessagesAreAcked(messages);
messages = db2.transactionWithResult(true,
txn -> introductionManager2.getMessageHeaders(txn, contactId0From2));
messages = db2.transactionWithResult(true, txn -> introductionManager2
.getMessageHeaders(txn, contactId0From2));
assertEquals(2, messages.size());
assertMessagesAreAcked(messages);
}
private void assertMessagesAreAcked(
Collection<PrivateMessageHeader> messages) {
for (PrivateMessageHeader msg : messages) {
Collection<ConversationMessageHeader> messages) {
for (ConversationMessageHeader msg : messages) {
if (msg.isLocal()) assertTrue(msg.isSeen());
}
}
@@ -1302,9 +1303,9 @@ public class IntroductionIntegrationTest
private IntroductionRequest getIntroductionRequest(DatabaseComponent db,
IntroductionManager manager, ContactId contactId)
throws DbException {
Collection<PrivateMessageHeader> messages = db.transactionWithResult(
Collection<ConversationMessageHeader> messages = db.transactionWithResult(
true, txn -> manager.getMessageHeaders(txn, contactId));
for (PrivateMessageHeader im : messages) {
for (ConversationMessageHeader im : messages) {
if (im instanceof IntroductionRequest) {
return (IntroductionRequest) im;
}

View File

@@ -4,6 +4,7 @@ import org.briarproject.bramble.api.db.DbException;
import org.briarproject.bramble.api.sync.Group;
import org.briarproject.bramble.test.TestDatabaseModule;
import org.briarproject.briar.api.client.ProtocolStateException;
import org.briarproject.briar.api.conversation.ConversationMessageHeader;
import org.briarproject.briar.api.messaging.PrivateMessageHeader;
import org.briarproject.briar.api.privategroup.GroupMessage;
import org.briarproject.briar.api.privategroup.PrivateGroup;
@@ -91,7 +92,7 @@ public class GroupInvitationIntegrationTest
assertEquals(privateGroup0.getName(), item.getName());
assertFalse(item.isSubscribed());
Collection<PrivateMessageHeader> messages =
Collection<ConversationMessageHeader> messages =
db1.transactionWithResult(true, txn -> groupInvitationManager1
.getMessageHeaders(txn, contactId0From1));
assertEquals(1, messages.size());
@@ -118,12 +119,12 @@ public class GroupInvitationIntegrationTest
groupInvitationManager1
.respondToInvitation(contactId0From1, privateGroup0, false);
Collection<PrivateMessageHeader> messages =
Collection<ConversationMessageHeader> messages =
db1.transactionWithResult(true, txn -> groupInvitationManager1
.getMessageHeaders(txn, contactId0From1));
assertEquals(2, messages.size());
boolean foundResponse = false;
for (PrivateMessageHeader m : messages) {
for (ConversationMessageHeader m : messages) {
if (m instanceof GroupInvitationResponse) {
foundResponse = true;
GroupInvitationResponse response = (GroupInvitationResponse) m;
@@ -140,7 +141,7 @@ public class GroupInvitationIntegrationTest
.getMessageHeaders(txn, contactId1From0));
assertEquals(2, messages.size());
foundResponse = false;
for (PrivateMessageHeader m : messages) {
for (ConversationMessageHeader m : messages) {
if (m instanceof GroupInvitationResponse) {
foundResponse = true;
GroupInvitationResponse response = (GroupInvitationResponse) m;
@@ -168,12 +169,12 @@ public class GroupInvitationIntegrationTest
groupInvitationManager1
.respondToInvitation(contactId0From1, privateGroup0, true);
Collection<PrivateMessageHeader> messages =
Collection<ConversationMessageHeader> messages =
db1.transactionWithResult(true, txn -> groupInvitationManager1
.getMessageHeaders(txn, contactId0From1));
assertEquals(2, messages.size());
boolean foundResponse = false;
for (PrivateMessageHeader m : messages) {
for (ConversationMessageHeader m : messages) {
if (m instanceof GroupInvitationResponse) {
foundResponse = true;
GroupInvitationResponse response = (GroupInvitationResponse) m;
@@ -194,7 +195,7 @@ public class GroupInvitationIntegrationTest
.getMessageHeaders(txn, contactId1From0));
assertEquals(2, messages.size());
foundResponse = false;
for (PrivateMessageHeader m : messages) {
for (ConversationMessageHeader m : messages) {
if (m instanceof GroupInvitationResponse) {
foundResponse = true;
GroupInvitationResponse response = (GroupInvitationResponse) m;
@@ -226,9 +227,10 @@ public class GroupInvitationIntegrationTest
// 1 has one unread message
Group g0 = groupInvitationManager1.getContactGroup(contact0From1);
assertGroupCount(messageTracker1, g0.getId(), 1, 1, timestamp);
PrivateMessageHeader m = db1.transactionWithResult(true,
txn -> groupInvitationManager1.getMessageHeaders(txn, contactId0From1)
.iterator().next());
ConversationMessageHeader m = db1.transactionWithResult(true,
txn -> groupInvitationManager1
.getMessageHeaders(txn, contactId0From1).iterator()
.next());
groupInvitationManager1
.respondToInvitation(contactId0From1, privateGroup0, true);

View File

@@ -24,7 +24,7 @@ import org.briarproject.bramble.test.BrambleMockTestCase;
import org.briarproject.bramble.test.TestUtils;
import org.briarproject.briar.api.client.MessageTracker;
import org.briarproject.briar.api.client.SessionId;
import org.briarproject.briar.api.messaging.PrivateMessageHeader;
import org.briarproject.briar.api.conversation.ConversationMessageHeader;
import org.briarproject.briar.api.privategroup.PrivateGroup;
import org.briarproject.briar.api.privategroup.PrivateGroupFactory;
import org.briarproject.briar.api.privategroup.PrivateGroupManager;
@@ -696,10 +696,10 @@ public class GroupInvitationManagerImplTest extends BrambleMockTestCase {
oneOf(db).getMessageStatus(txn, contactId, messageId2);
}});
Collection<PrivateMessageHeader> messages =
Collection<ConversationMessageHeader> messages =
groupInvitationManager.getMessageHeaders(txn, contactId);
assertEquals(2, messages.size());
for (PrivateMessageHeader m : messages) {
for (ConversationMessageHeader m : messages) {
assertEquals(contactGroup.getId(), m.getGroupId());
if (m.getId().equals(message.getId())) {
assertTrue(m instanceof GroupInvitationRequest);

View File

@@ -18,7 +18,7 @@ import org.briarproject.briar.api.blog.BlogManager;
import org.briarproject.briar.api.blog.BlogSharingManager;
import org.briarproject.briar.api.blog.event.BlogInvitationRequestReceivedEvent;
import org.briarproject.briar.api.blog.event.BlogInvitationResponseReceivedEvent;
import org.briarproject.briar.api.messaging.PrivateMessageHeader;
import org.briarproject.briar.api.conversation.ConversationMessageHeader;
import org.briarproject.briar.test.BriarIntegrationTest;
import org.briarproject.briar.test.BriarIntegrationTestComponent;
import org.briarproject.briar.test.DaggerBriarIntegrationTestComponent;
@@ -146,12 +146,12 @@ public class BlogSharingIntegrationTest
assertTrue(blogManager1.getBlogs().contains(blog2));
// invitee has one invitation message from sharer
Collection<PrivateMessageHeader> list = db1.transactionWithResult(true,
txn -> blogSharingManager1
Collection<ConversationMessageHeader> list =
db1.transactionWithResult(true, txn -> blogSharingManager1
.getMessageHeaders(txn, contactId0From1));
assertEquals(2, list.size());
// check other things are alright with the message
for (PrivateMessageHeader m : list) {
for (ConversationMessageHeader m : list) {
if (m instanceof BlogInvitationRequest) {
BlogInvitationRequest invitation = (BlogInvitationRequest) m;
assertEquals(blog2, invitation.getNameable());
@@ -220,11 +220,12 @@ public class BlogSharingIntegrationTest
assertTrue(blogManager1.getBlogs().contains(rssBlog));
// invitee has one invitation message from sharer
Collection<PrivateMessageHeader> list = db1.transactionWithResult(true,
txn -> blogSharingManager1.getMessageHeaders(txn, contactId0From1));
Collection<ConversationMessageHeader> list =
db1.transactionWithResult(true, txn -> blogSharingManager1
.getMessageHeaders(txn, contactId0From1));
assertEquals(2, list.size());
// check other things are alright with the message
for (PrivateMessageHeader m : list) {
for (ConversationMessageHeader m : list) {
if (m instanceof BlogInvitationRequest) {
BlogInvitationRequest invitation = (BlogInvitationRequest) m;
assertEquals(rssBlog, invitation.getNameable());
@@ -282,11 +283,12 @@ public class BlogSharingIntegrationTest
assertEquals(0, blogSharingManager1.getInvitations().size());
// invitee has one invitation message from sharer and one response
Collection<PrivateMessageHeader> list = db1.transactionWithResult(true,
txn -> blogSharingManager1.getMessageHeaders(txn, contactId0From1));
Collection<ConversationMessageHeader> list =
db1.transactionWithResult(true, txn -> blogSharingManager1
.getMessageHeaders(txn, contactId0From1));
assertEquals(2, list.size());
// check things are alright with the message
for (PrivateMessageHeader m : list) {
for (ConversationMessageHeader m : list) {
if (m instanceof BlogInvitationRequest) {
BlogInvitationRequest invitation = (BlogInvitationRequest) m;
assertEquals(blog2, invitation.getNameable());
@@ -389,7 +391,7 @@ public class BlogSharingIntegrationTest
assertTrue(contacts.contains(contact0From1));
// make sure 1 knows that they have blog2 already
Collection<PrivateMessageHeader> messages =
Collection<ConversationMessageHeader> messages =
db1.transactionWithResult(true, txn -> blogSharingManager1
.getMessageHeaders(txn, contactId0From1));
assertEquals(2, messages.size());

View File

@@ -12,6 +12,7 @@ import org.briarproject.bramble.api.sync.Group;
import org.briarproject.bramble.api.sync.Message;
import org.briarproject.bramble.api.sync.MessageId;
import org.briarproject.bramble.test.TestDatabaseModule;
import org.briarproject.briar.api.conversation.ConversationMessageHeader;
import org.briarproject.briar.api.forum.Forum;
import org.briarproject.briar.api.forum.ForumInvitationRequest;
import org.briarproject.briar.api.forum.ForumInvitationResponse;
@@ -129,11 +130,12 @@ public class ForumSharingIntegrationTest
assertEquals(1, forumManager1.getForums().size());
// invitee has one invitation message from sharer
Collection<PrivateMessageHeader> list = db1.transactionWithResult(true,
txn -> forumSharingManager1.getMessageHeaders(txn, contactId0From1));
Collection<ConversationMessageHeader> list =
db1.transactionWithResult(true, txn -> forumSharingManager1
.getMessageHeaders(txn, contactId0From1));
assertEquals(2, list.size());
// check other things are alright with the forum message
for (PrivateMessageHeader m : list) {
for (ConversationMessageHeader m : list) {
if (m instanceof ForumInvitationRequest) {
ForumInvitationRequest invitation = (ForumInvitationRequest) m;
assertTrue(invitation.wasAnswered());
@@ -185,11 +187,12 @@ public class ForumSharingIntegrationTest
assertEquals(0, forumSharingManager1.getInvitations().size());
// invitee has one invitation message from sharer and one response
Collection<PrivateMessageHeader> list = db1.transactionWithResult(true,
txn -> forumSharingManager1.getMessageHeaders(txn, contactId0From1));
Collection<ConversationMessageHeader> list =
db1.transactionWithResult(true, txn -> forumSharingManager1
.getMessageHeaders(txn, contactId0From1));
assertEquals(2, list.size());
// check things are alright with the forum message
for (PrivateMessageHeader m : list) {
for (ConversationMessageHeader m : list) {
if (m instanceof ForumInvitationRequest) {
ForumInvitationRequest invitation = (ForumInvitationRequest) m;
assertEquals(forum0, invitation.getNameable());
@@ -733,9 +736,9 @@ public class ForumSharingIntegrationTest
// get invitation MessageId for later
MessageId invitationId = null;
Collection<PrivateMessageHeader> list = db1.transactionWithResult(true,
Collection<ConversationMessageHeader> list = db1.transactionWithResult(true,
txn -> forumSharingManager1.getMessageHeaders(txn, contactId0From1));
for (PrivateMessageHeader m : list) {
for (ConversationMessageHeader m : list) {
if (m instanceof ForumInvitationRequest) {
invitationId = m.getId();
}