mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-12 18:59:06 +01:00
Address review comments
This commit is contained in:
@@ -14,7 +14,7 @@ public class BlogInvitationRequestReceivedEvent extends
|
||||
InvitationRequestReceivedEvent<Blog> {
|
||||
|
||||
public BlogInvitationRequestReceivedEvent(Blog blog, ContactId contactId,
|
||||
InvitationRequest request) {
|
||||
InvitationRequest<Blog> request) {
|
||||
super(blog, contactId, request);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package org.briarproject.briar.api.forum.event;
|
||||
import org.briarproject.bramble.api.contact.ContactId;
|
||||
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
||||
import org.briarproject.briar.api.forum.Forum;
|
||||
import org.briarproject.briar.api.forum.ForumInvitationRequest;
|
||||
import org.briarproject.briar.api.sharing.InvitationRequest;
|
||||
import org.briarproject.briar.api.sharing.event.InvitationRequestReceivedEvent;
|
||||
|
||||
import javax.annotation.concurrent.Immutable;
|
||||
@@ -14,7 +14,7 @@ public class ForumInvitationRequestReceivedEvent extends
|
||||
InvitationRequestReceivedEvent<Forum> {
|
||||
|
||||
public ForumInvitationRequestReceivedEvent(Forum forum, ContactId contactId,
|
||||
ForumInvitationRequest request) {
|
||||
InvitationRequest<Forum> request) {
|
||||
super(forum, contactId, request);
|
||||
}
|
||||
|
||||
|
||||
@@ -31,7 +31,6 @@ import org.briarproject.briar.api.blog.BlogPostFactory;
|
||||
import org.briarproject.briar.api.blog.BlogPostHeader;
|
||||
import org.briarproject.briar.api.blog.MessageType;
|
||||
import org.briarproject.briar.api.blog.event.BlogPostAddedEvent;
|
||||
import org.briarproject.briar.api.client.ProtocolStateException;
|
||||
import org.briarproject.briar.client.BdfIncomingMessageHook;
|
||||
|
||||
import java.security.GeneralSecurityException;
|
||||
@@ -228,7 +227,7 @@ class BlogManagerImpl extends BdfIncomingMessageHook implements BlogManager,
|
||||
private void removeBlog(Transaction txn, Blog b, boolean forced)
|
||||
throws DbException {
|
||||
if (!forced && !canBeRemoved(txn, b.getId()))
|
||||
throw new ProtocolStateException();
|
||||
throw new IllegalArgumentException();
|
||||
for (RemoveBlogHook hook : removeHooks)
|
||||
hook.removingBlog(txn, b);
|
||||
db.removeGroup(txn, b.getGroup());
|
||||
|
||||
@@ -10,7 +10,8 @@ import org.briarproject.briar.api.client.SessionId;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
public class BlogInvitationFactoryImpl implements InvitationFactory<Blog> {
|
||||
public class BlogInvitationFactoryImpl
|
||||
implements InvitationFactory<Blog, BlogInvitationResponse> {
|
||||
|
||||
@Inject
|
||||
BlogInvitationFactoryImpl() {
|
||||
|
||||
@@ -12,13 +12,13 @@ import org.briarproject.bramble.api.sync.ClientId;
|
||||
import org.briarproject.bramble.api.sync.MessageId;
|
||||
import org.briarproject.bramble.api.system.Clock;
|
||||
import org.briarproject.briar.api.blog.Blog;
|
||||
import org.briarproject.briar.api.blog.BlogInvitationRequest;
|
||||
import org.briarproject.briar.api.blog.BlogInvitationResponse;
|
||||
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.client.MessageTracker;
|
||||
import org.briarproject.briar.api.sharing.InvitationRequest;
|
||||
|
||||
import javax.annotation.concurrent.Immutable;
|
||||
import javax.inject.Inject;
|
||||
@@ -28,14 +28,15 @@ import javax.inject.Inject;
|
||||
class BlogProtocolEngineImpl extends ProtocolEngineImpl<Blog> {
|
||||
|
||||
private final BlogManager blogManager;
|
||||
private final InvitationFactory<Blog> invitationFactory;
|
||||
private final InvitationFactory<Blog, BlogInvitationResponse>
|
||||
invitationFactory;
|
||||
|
||||
@Inject
|
||||
BlogProtocolEngineImpl(DatabaseComponent db,
|
||||
ClientHelper clientHelper, MessageEncoder messageEncoder,
|
||||
MessageParser<Blog> messageParser, MessageTracker messageTracker,
|
||||
Clock clock, BlogManager blogManager,
|
||||
InvitationFactory<Blog> invitationFactory) {
|
||||
InvitationFactory<Blog, BlogInvitationResponse> invitationFactory) {
|
||||
super(db, clientHelper, messageEncoder, messageParser, messageTracker,
|
||||
clock);
|
||||
this.blogManager = blogManager;
|
||||
@@ -45,8 +46,7 @@ class BlogProtocolEngineImpl extends ProtocolEngineImpl<Blog> {
|
||||
@Override
|
||||
Event getInvitationRequestReceivedEvent(InviteMessage<Blog> m,
|
||||
ContactId contactId, boolean available, boolean canBeOpened) {
|
||||
BlogInvitationRequest request =
|
||||
(BlogInvitationRequest) invitationFactory
|
||||
InvitationRequest<Blog> request = invitationFactory
|
||||
.createInvitationRequest(false, false, true, false, m,
|
||||
contactId, available, canBeOpened);
|
||||
return new BlogInvitationRequestReceivedEvent(m.getShareable(),
|
||||
@@ -56,24 +56,20 @@ class BlogProtocolEngineImpl extends ProtocolEngineImpl<Blog> {
|
||||
@Override
|
||||
Event getInvitationResponseReceivedEvent(AcceptMessage m,
|
||||
ContactId contactId) {
|
||||
BlogInvitationResponse response =
|
||||
(BlogInvitationResponse) invitationFactory
|
||||
.createInvitationResponse(m.getId(),
|
||||
m.getContactGroupId(), m.getTimestamp(), false,
|
||||
false, true, false, m.getShareableId(),
|
||||
contactId, true);
|
||||
BlogInvitationResponse response = invitationFactory
|
||||
.createInvitationResponse(m.getId(), m.getContactGroupId(),
|
||||
m.getTimestamp(), false, false, true, false,
|
||||
m.getShareableId(), contactId, true);
|
||||
return new BlogInvitationResponseReceivedEvent(contactId, response);
|
||||
}
|
||||
|
||||
@Override
|
||||
Event getInvitationResponseReceivedEvent(DeclineMessage m,
|
||||
ContactId contactId) {
|
||||
BlogInvitationResponse response =
|
||||
(BlogInvitationResponse) invitationFactory
|
||||
.createInvitationResponse(m.getId(),
|
||||
m.getContactGroupId(), m.getTimestamp(), false,
|
||||
false, true, false, m.getShareableId(),
|
||||
contactId, true);
|
||||
BlogInvitationResponse response = invitationFactory
|
||||
.createInvitationResponse(m.getId(), m.getContactGroupId(),
|
||||
m.getTimestamp(), false, false, true, false,
|
||||
m.getShareableId(), contactId, true);
|
||||
return new BlogInvitationResponseReceivedEvent(contactId, response);
|
||||
}
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
||||
import org.briarproject.bramble.api.sync.ClientId;
|
||||
import org.briarproject.bramble.api.sync.GroupId;
|
||||
import org.briarproject.briar.api.blog.Blog;
|
||||
import org.briarproject.briar.api.blog.BlogInvitationResponse;
|
||||
import org.briarproject.briar.api.blog.BlogManager;
|
||||
import org.briarproject.briar.api.blog.BlogManager.RemoveBlogHook;
|
||||
import org.briarproject.briar.api.blog.BlogSharingManager;
|
||||
@@ -36,7 +37,7 @@ class BlogSharingManagerImpl extends SharingManagerImpl<Blog>
|
||||
MessageTracker messageTracker,
|
||||
ContactGroupFactory contactGroupFactory,
|
||||
ProtocolEngine<Blog> engine,
|
||||
InvitationFactory<Blog> invitationFactory,
|
||||
InvitationFactory<Blog, BlogInvitationResponse> invitationFactory,
|
||||
IdentityManager identityManager, BlogManager blogManager) {
|
||||
super(db, clientHelper, metadataParser, messageParser, sessionEncoder,
|
||||
sessionParser, messageTracker, contactGroupFactory, engine,
|
||||
|
||||
@@ -10,7 +10,8 @@ import org.briarproject.briar.api.forum.ForumInvitationResponse;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
public class ForumInvitationFactoryImpl implements InvitationFactory<Forum> {
|
||||
public class ForumInvitationFactoryImpl
|
||||
implements InvitationFactory<Forum, ForumInvitationResponse> {
|
||||
|
||||
@Inject
|
||||
ForumInvitationFactoryImpl() {
|
||||
|
||||
@@ -13,12 +13,12 @@ import org.briarproject.bramble.api.sync.MessageId;
|
||||
import org.briarproject.bramble.api.system.Clock;
|
||||
import org.briarproject.briar.api.client.MessageTracker;
|
||||
import org.briarproject.briar.api.forum.Forum;
|
||||
import org.briarproject.briar.api.forum.ForumInvitationRequest;
|
||||
import org.briarproject.briar.api.forum.ForumInvitationResponse;
|
||||
import org.briarproject.briar.api.forum.ForumManager;
|
||||
import org.briarproject.briar.api.forum.ForumSharingManager;
|
||||
import org.briarproject.briar.api.forum.event.ForumInvitationRequestReceivedEvent;
|
||||
import org.briarproject.briar.api.forum.event.ForumInvitationResponseReceivedEvent;
|
||||
import org.briarproject.briar.api.sharing.InvitationRequest;
|
||||
|
||||
import javax.annotation.concurrent.Immutable;
|
||||
import javax.inject.Inject;
|
||||
@@ -28,14 +28,15 @@ import javax.inject.Inject;
|
||||
class ForumProtocolEngineImpl extends ProtocolEngineImpl<Forum> {
|
||||
|
||||
private final ForumManager forumManager;
|
||||
private final InvitationFactory<Forum> invitationFactory;
|
||||
private final InvitationFactory<Forum, ForumInvitationResponse>
|
||||
invitationFactory;
|
||||
|
||||
@Inject
|
||||
ForumProtocolEngineImpl(DatabaseComponent db,
|
||||
ClientHelper clientHelper, MessageEncoder messageEncoder,
|
||||
MessageParser<Forum> messageParser, MessageTracker messageTracker,
|
||||
Clock clock, ForumManager forumManager,
|
||||
InvitationFactory<Forum> invitationFactory) {
|
||||
InvitationFactory<Forum, ForumInvitationResponse> invitationFactory) {
|
||||
super(db, clientHelper, messageEncoder, messageParser, messageTracker,
|
||||
clock);
|
||||
this.forumManager = forumManager;
|
||||
@@ -45,8 +46,7 @@ class ForumProtocolEngineImpl extends ProtocolEngineImpl<Forum> {
|
||||
@Override
|
||||
Event getInvitationRequestReceivedEvent(InviteMessage<Forum> m,
|
||||
ContactId contactId, boolean available, boolean canBeOpened) {
|
||||
ForumInvitationRequest request =
|
||||
(ForumInvitationRequest) invitationFactory
|
||||
InvitationRequest<Forum> request = invitationFactory
|
||||
.createInvitationRequest(false, false, true, false, m,
|
||||
contactId, available, canBeOpened);
|
||||
return new ForumInvitationRequestReceivedEvent(m.getShareable(),
|
||||
@@ -56,24 +56,20 @@ class ForumProtocolEngineImpl extends ProtocolEngineImpl<Forum> {
|
||||
@Override
|
||||
Event getInvitationResponseReceivedEvent(AcceptMessage m,
|
||||
ContactId contactId) {
|
||||
ForumInvitationResponse response =
|
||||
(ForumInvitationResponse) invitationFactory
|
||||
.createInvitationResponse(m.getId(),
|
||||
m.getContactGroupId(), m.getTimestamp(), false,
|
||||
false, true, false, m.getShareableId(),
|
||||
contactId, true);
|
||||
ForumInvitationResponse response = invitationFactory
|
||||
.createInvitationResponse(m.getId(), m.getContactGroupId(),
|
||||
m.getTimestamp(), false, false, true, false,
|
||||
m.getShareableId(), contactId, true);
|
||||
return new ForumInvitationResponseReceivedEvent(contactId, response);
|
||||
}
|
||||
|
||||
@Override
|
||||
Event getInvitationResponseReceivedEvent(DeclineMessage m,
|
||||
ContactId contactId) {
|
||||
ForumInvitationResponse response =
|
||||
(ForumInvitationResponse) invitationFactory
|
||||
.createInvitationResponse(m.getId(),
|
||||
m.getContactGroupId(), m.getTimestamp(), false,
|
||||
false, true, false, m.getShareableId(),
|
||||
contactId, true);
|
||||
ForumInvitationResponse response = invitationFactory
|
||||
.createInvitationResponse(m.getId(), m.getContactGroupId(),
|
||||
m.getTimestamp(), false, false, true, false,
|
||||
m.getShareableId(), contactId, true);
|
||||
return new ForumInvitationResponseReceivedEvent(contactId, response);
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
||||
import org.briarproject.bramble.api.sync.ClientId;
|
||||
import org.briarproject.briar.api.client.MessageTracker;
|
||||
import org.briarproject.briar.api.forum.Forum;
|
||||
import org.briarproject.briar.api.forum.ForumInvitationResponse;
|
||||
import org.briarproject.briar.api.forum.ForumManager.RemoveForumHook;
|
||||
import org.briarproject.briar.api.forum.ForumSharingManager;
|
||||
|
||||
@@ -26,7 +27,7 @@ class ForumSharingManagerImpl extends SharingManagerImpl<Forum>
|
||||
MessageTracker messageTracker,
|
||||
ContactGroupFactory contactGroupFactory,
|
||||
ProtocolEngine<Forum> engine,
|
||||
InvitationFactory<Forum> invitationFactory) {
|
||||
InvitationFactory<Forum, ForumInvitationResponse> invitationFactory) {
|
||||
super(db, clientHelper, metadataParser, messageParser, sessionEncoder,
|
||||
sessionParser, messageTracker, contactGroupFactory, engine,
|
||||
invitationFactory);
|
||||
|
||||
@@ -7,13 +7,13 @@ import org.briarproject.briar.api.sharing.InvitationRequest;
|
||||
import org.briarproject.briar.api.sharing.InvitationResponse;
|
||||
import org.briarproject.briar.api.sharing.Shareable;
|
||||
|
||||
public interface InvitationFactory<S extends Shareable> {
|
||||
public interface InvitationFactory<S extends Shareable, I extends InvitationResponse> {
|
||||
|
||||
InvitationRequest<S> createInvitationRequest(boolean local, boolean sent,
|
||||
boolean seen, boolean read, InviteMessage<S> m, ContactId c,
|
||||
boolean available, boolean canBeOpened);
|
||||
|
||||
InvitationResponse createInvitationResponse(MessageId id,
|
||||
I createInvitationResponse(MessageId id,
|
||||
GroupId contactGroupId, long time, boolean local, boolean sent,
|
||||
boolean seen, boolean read, GroupId shareableId,
|
||||
ContactId contactId, boolean accept);
|
||||
|
||||
@@ -23,7 +23,6 @@ import org.briarproject.bramble.api.sync.Message;
|
||||
import org.briarproject.bramble.api.sync.MessageId;
|
||||
import org.briarproject.bramble.api.sync.MessageStatus;
|
||||
import org.briarproject.briar.api.client.MessageTracker;
|
||||
import org.briarproject.briar.api.client.ProtocolStateException;
|
||||
import org.briarproject.briar.api.client.SessionId;
|
||||
import org.briarproject.briar.api.sharing.InvitationMessage;
|
||||
import org.briarproject.briar.api.sharing.InvitationRequest;
|
||||
@@ -61,14 +60,14 @@ abstract class SharingManagerImpl<S extends Shareable>
|
||||
private final SessionParser sessionParser;
|
||||
private final ContactGroupFactory contactGroupFactory;
|
||||
private final ProtocolEngine<S> engine;
|
||||
private final InvitationFactory<S> invitationFactory;
|
||||
private final InvitationFactory<S, ?> invitationFactory;
|
||||
|
||||
SharingManagerImpl(DatabaseComponent db, ClientHelper clientHelper,
|
||||
MetadataParser metadataParser, MessageParser<S> messageParser,
|
||||
SessionEncoder sessionEncoder, SessionParser sessionParser,
|
||||
MessageTracker messageTracker,
|
||||
ContactGroupFactory contactGroupFactory, ProtocolEngine<S> engine,
|
||||
InvitationFactory<S> invitationFactory) {
|
||||
InvitationFactory<S, ?> invitationFactory) {
|
||||
super(db, clientHelper, metadataParser, messageTracker);
|
||||
this.messageParser = messageParser;
|
||||
this.sessionEncoder = sessionEncoder;
|
||||
@@ -214,7 +213,7 @@ abstract class SharingManagerImpl<S extends Shareable>
|
||||
try {
|
||||
Contact contact = db.getContact(txn, contactId);
|
||||
if (!canBeShared(txn, shareableId, contact))
|
||||
throw new ProtocolStateException();
|
||||
throw new IllegalArgumentException();
|
||||
// Look up the session, if there is one
|
||||
GroupId contactGroupId = getContactGroup(contact).getId();
|
||||
StoredSession ss = getSession(txn, contactGroupId, sessionId);
|
||||
|
||||
@@ -9,10 +9,12 @@ import org.briarproject.bramble.api.sync.ValidationManager;
|
||||
import org.briarproject.bramble.api.system.Clock;
|
||||
import org.briarproject.briar.api.blog.Blog;
|
||||
import org.briarproject.briar.api.blog.BlogFactory;
|
||||
import org.briarproject.briar.api.blog.BlogInvitationResponse;
|
||||
import org.briarproject.briar.api.blog.BlogManager;
|
||||
import org.briarproject.briar.api.blog.BlogSharingManager;
|
||||
import org.briarproject.briar.api.forum.Forum;
|
||||
import org.briarproject.briar.api.forum.ForumFactory;
|
||||
import org.briarproject.briar.api.forum.ForumInvitationResponse;
|
||||
import org.briarproject.briar.api.forum.ForumManager;
|
||||
import org.briarproject.briar.api.forum.ForumSharingManager;
|
||||
import org.briarproject.briar.api.messaging.ConversationManager;
|
||||
@@ -97,7 +99,7 @@ public class SharingModule {
|
||||
}
|
||||
|
||||
@Provides
|
||||
InvitationFactory<Blog> provideBlogInvitationFactory(
|
||||
InvitationFactory<Blog, BlogInvitationResponse> provideBlogInvitationFactory(
|
||||
BlogInvitationFactoryImpl blogInvitationFactory) {
|
||||
return blogInvitationFactory;
|
||||
}
|
||||
@@ -149,7 +151,7 @@ public class SharingModule {
|
||||
}
|
||||
|
||||
@Provides
|
||||
InvitationFactory<Forum> provideForumInvitationFactory(
|
||||
InvitationFactory<Forum, ForumInvitationResponse> provideForumInvitationFactory(
|
||||
ForumInvitationFactoryImpl forumInvitationFactory) {
|
||||
return forumInvitationFactory;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
package org.briarproject.briar.blog;
|
||||
|
||||
import org.briarproject.bramble.api.db.DbException;
|
||||
import org.briarproject.bramble.api.sync.MessageId;
|
||||
import org.briarproject.bramble.test.TestDatabaseModule;
|
||||
import org.briarproject.briar.api.blog.Blog;
|
||||
@@ -170,7 +169,7 @@ public class BlogManagerIntegrationTest
|
||||
assertFalse(blogManager1.canBeRemoved(blog0.getId()));
|
||||
|
||||
// the following two calls should throw a DbException now
|
||||
thrown.expect(DbException.class);
|
||||
thrown.expect(IllegalArgumentException.class);
|
||||
|
||||
blogManager0.removeBlog(blog1);
|
||||
blogManager1.removeBlog(blog0);
|
||||
|
||||
@@ -17,7 +17,6 @@ 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.client.ProtocolStateException;
|
||||
import org.briarproject.briar.api.sharing.InvitationMessage;
|
||||
import org.briarproject.briar.test.BriarIntegrationTest;
|
||||
import org.briarproject.briar.test.BriarIntegrationTestComponent;
|
||||
@@ -94,7 +93,7 @@ public class BlogSharingIntegrationTest
|
||||
injectEagerSingletons(c2);
|
||||
}
|
||||
|
||||
@Test(expected = ProtocolStateException.class)
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void testPersonalBlogCannotBeSharedWithOwner() throws Exception {
|
||||
listenToEvents(true);
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@ import org.briarproject.bramble.api.event.Event;
|
||||
import org.briarproject.bramble.api.event.EventListener;
|
||||
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
||||
import org.briarproject.bramble.test.TestDatabaseModule;
|
||||
import org.briarproject.briar.api.client.ProtocolStateException;
|
||||
import org.briarproject.briar.api.forum.Forum;
|
||||
import org.briarproject.briar.api.forum.ForumInvitationRequest;
|
||||
import org.briarproject.briar.api.forum.ForumInvitationResponse;
|
||||
@@ -373,7 +372,7 @@ public class ForumSharingIntegrationTest
|
||||
assertEquals(1, forumManager1.getForums().size());
|
||||
}
|
||||
|
||||
@Test(expected = ProtocolStateException.class)
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void testSharingSameForumWithEachOther() throws Exception {
|
||||
// initialize and let invitee accept all requests
|
||||
listenToEvents(true);
|
||||
|
||||
Reference in New Issue
Block a user