Add client version to groups table.

This commit is contained in:
akwizgran
2018-04-13 13:10:02 +01:00
parent a38f39207f
commit 8c00f2417b
23 changed files with 116 additions and 67 deletions

View File

@@ -425,7 +425,7 @@ class BlogManagerImpl extends BdfIncomingMessageHook implements BlogManager,
Collection<Group> groups;
Transaction txn = db.startTransaction(true);
try {
groups = db.getGroups(txn, CLIENT_ID);
groups = db.getGroups(txn, CLIENT_ID, CLIENT_VERSION);
for (Group g : groups) {
blogs.add(blogFactory.parseBlog(g));
}

View File

@@ -188,7 +188,7 @@ class ForumManagerImpl extends BdfIncomingMessageHook implements ForumManager {
Collection<Group> groups;
Transaction txn = db.startTransaction(true);
try {
groups = db.getGroups(txn, CLIENT_ID);
groups = db.getGroups(txn, CLIENT_ID, CLIENT_VERSION);
db.commitTransaction(txn);
} finally {
db.endTransaction(txn);

View File

@@ -271,7 +271,7 @@ class PrivateGroupManagerImpl extends BdfIncomingMessageHook
Collection<Group> groups;
Transaction txn = db.startTransaction(true);
try {
groups = db.getGroups(txn, CLIENT_ID);
groups = db.getGroups(txn, CLIENT_ID, CLIENT_VERSION);
db.commitTransaction(txn);
} finally {
db.endTransaction(txn);

View File

@@ -122,7 +122,8 @@ class GroupInvitationManagerImpl extends ConversationClientImpl
throw new AssertionError(e);
}
// If the contact belongs to any private groups, create a peer session
for (Group pg : db.getGroups(txn, PrivateGroupManager.CLIENT_ID)) {
for (Group pg : db.getGroups(txn, PrivateGroupManager.CLIENT_ID,
PrivateGroupManager.CLIENT_VERSION)) {
if (privateGroupManager.isMember(txn, pg.getId(), c.getAuthor()))
addingMember(txn, pg.getId(), c);
}

View File

@@ -14,6 +14,7 @@ import org.briarproject.bramble.api.db.Transaction;
import org.briarproject.bramble.api.identity.Author;
import org.briarproject.bramble.api.identity.IdentityManager;
import org.briarproject.bramble.api.identity.LocalAuthor;
import org.briarproject.bramble.api.sync.Group;
import org.briarproject.bramble.api.sync.Message;
import org.briarproject.bramble.api.sync.MessageId;
import org.briarproject.briar.api.blog.Blog;
@@ -49,6 +50,7 @@ import static org.briarproject.briar.api.blog.BlogConstants.KEY_TIME_RECEIVED;
import static org.briarproject.briar.api.blog.BlogConstants.KEY_TYPE;
import static org.briarproject.briar.api.blog.BlogConstants.MAX_BLOG_COMMENT_LENGTH;
import static org.briarproject.briar.api.blog.BlogManager.CLIENT_ID;
import static org.briarproject.briar.api.blog.BlogManager.CLIENT_VERSION;
import static org.briarproject.briar.api.blog.MessageType.COMMENT;
import static org.briarproject.briar.api.blog.MessageType.POST;
import static org.briarproject.briar.api.blog.MessageType.WRAPPED_COMMENT;
@@ -866,7 +868,8 @@ public class BlogManagerImplTest extends BriarTestCase {
}
private Blog createBlog(LocalAuthor localAuthor, boolean rssFeed) {
return new Blog(getGroup(CLIENT_ID), localAuthor, rssFeed);
Group group = getGroup(CLIENT_ID, CLIENT_VERSION);
return new Blog(group, localAuthor, rssFeed);
}
private BdfList authorToBdfList(Author a) {

View File

@@ -64,7 +64,7 @@ public class BlogPostValidatorTest extends BriarTestCase {
private final String body = getRandomString(42);
public BlogPostValidatorTest() {
group = getGroup(CLIENT_ID);
group = getGroup(CLIENT_ID, CLIENT_VERSION);
descriptor = group.getDescriptor();
author = getAuthor();
authorList = BdfList.of(

View File

@@ -61,9 +61,10 @@ public class FeedManagerImplTest extends BrambleMockTestCase {
private final Clock clock = context.mock(Clock.class);
private final Dns noDnsLookups = context.mock(Dns.class);
private final Group localGroup = getGroup(CLIENT_ID);
private final Group localGroup = getGroup(CLIENT_ID, CLIENT_VERSION);
private final GroupId localGroupId = localGroup.getId();
private final Group blogGroup = getGroup(BlogManager.CLIENT_ID);
private final Group blogGroup =
getGroup(BlogManager.CLIENT_ID, BlogManager.CLIENT_VERSION);
private final GroupId blogGroupId = blogGroup.getId();
private final LocalAuthor localAuthor = getLocalAuthor();
private final Blog blog = new Blog(blogGroup, localAuthor, true);

View File

@@ -33,6 +33,7 @@ import static org.briarproject.briar.api.privategroup.PrivateGroupConstants.GROU
import static org.briarproject.briar.api.privategroup.PrivateGroupConstants.MAX_GROUP_INVITATION_MSG_LENGTH;
import static org.briarproject.briar.api.privategroup.PrivateGroupConstants.MAX_GROUP_NAME_LENGTH;
import static org.briarproject.briar.api.privategroup.PrivateGroupManager.CLIENT_ID;
import static org.briarproject.briar.api.privategroup.PrivateGroupManager.CLIENT_VERSION;
import static org.briarproject.briar.privategroup.invitation.GroupInvitationConstants.GROUP_KEY_CONTACT_ID;
import static org.briarproject.briar.privategroup.invitation.MessageType.ABORT;
import static org.briarproject.briar.privategroup.invitation.MessageType.INVITE;
@@ -64,7 +65,8 @@ public abstract class AbstractProtocolEngineTest extends BrambleMockTestCase {
protected final Transaction txn = new Transaction(null, false);
protected final GroupId contactGroupId = new GroupId(getRandomId());
protected final Group privateGroupGroup = getGroup(CLIENT_ID);
protected final Group privateGroupGroup =
getGroup(CLIENT_ID, CLIENT_VERSION);
protected final GroupId privateGroupId = privateGroupGroup.getId();
protected final Author author = getAuthor();
protected final PrivateGroup privateGroup =

View File

@@ -99,9 +99,9 @@ public class GroupInvitationManagerImplTest extends BrambleMockTestCase {
private final Author author = getAuthor();
private final Contact contact = new Contact(contactId, author,
new AuthorId(getRandomId()), true, true);
private final Group localGroup = getGroup(CLIENT_ID);
private final Group contactGroup = getGroup(CLIENT_ID);
private final Group privateGroup = getGroup(CLIENT_ID);
private final Group localGroup = getGroup(CLIENT_ID, CLIENT_VERSION);
private final Group contactGroup = getGroup(CLIENT_ID, CLIENT_VERSION);
private final Group privateGroup = getGroup(CLIENT_ID, CLIENT_VERSION);
private final BdfDictionary meta = BdfDictionary.of(new BdfEntry("m", "e"));
private final Message message =
new Message(new MessageId(getRandomId()), contactGroup.getId(),
@@ -194,7 +194,8 @@ public class GroupInvitationManagerImplTest extends BrambleMockTestCase {
SHARED);
oneOf(clientHelper)
.mergeGroupMetadata(txn, contactGroup.getId(), meta);
oneOf(db).getGroups(txn, PrivateGroupManager.CLIENT_ID);
oneOf(db).getGroups(txn, PrivateGroupManager.CLIENT_ID,
PrivateGroupManager.CLIENT_VERSION);
will(returnValue(Collections.singletonList(privateGroup)));
oneOf(privateGroupManager)
.isMember(txn, privateGroup.getId(), c.getAuthor());
@@ -854,8 +855,8 @@ public class GroupInvitationManagerImplTest extends BrambleMockTestCase {
Collection<Contact> contacts =
Arrays.asList(contact, contact2, contact3);
Group contactGroup2 = getGroup(CLIENT_ID);
Group contactGroup3 = getGroup(CLIENT_ID);
Group contactGroup2 = getGroup(CLIENT_ID, CLIENT_VERSION);
Group contactGroup3 = getGroup(CLIENT_ID, CLIENT_VERSION);
MessageId storageId2 = new MessageId(getRandomId());
MessageId storageId3 = new MessageId(getRandomId());

View File

@@ -65,11 +65,13 @@ public class BlogSharingManagerImplTest extends BrambleMockTestCase {
new Contact(contactId, author, localAuthor.getId(), true, true);
private final Collection<Contact> contacts =
Collections.singletonList(contact);
private final Group localGroup = getGroup(CLIENT_ID);
private final Group contactGroup = getGroup(CLIENT_ID);
private final Group blogGroup = getGroup(BlogManager.CLIENT_ID);
private final Group localGroup = getGroup(CLIENT_ID, CLIENT_VERSION);
private final Group contactGroup = getGroup(CLIENT_ID, CLIENT_VERSION);
private final Group blogGroup =
getGroup(BlogManager.CLIENT_ID, BlogManager.CLIENT_VERSION);
private final Blog blog = new Blog(blogGroup, author, false);
private final Group localBlogGroup = getGroup(BlogManager.CLIENT_ID);
private final Group localBlogGroup =
getGroup(BlogManager.CLIENT_ID, BlogManager.CLIENT_VERSION);
private final Blog localBlog = new Blog(localBlogGroup, localAuthor, false);
@SuppressWarnings("unchecked")
private final ProtocolEngine<Blog> engine =
@@ -225,7 +227,7 @@ public class BlogSharingManagerImplTest extends BrambleMockTestCase {
private void expectPreShareShareable(Transaction txn, Contact contact,
Blog blog, Map<MessageId, BdfDictionary> sessions)
throws Exception {
Group contactGroup = getGroup(CLIENT_ID);
Group contactGroup = getGroup(CLIENT_ID, CLIENT_VERSION);
BdfDictionary sessionDict = new BdfDictionary();
Message message = new Message(new MessageId(getRandomId()),
contactGroup.getId(), 42L, getRandomBytes(1337));