Address review comments

This commit is contained in:
Torsten Grote
2017-01-06 13:25:13 -02:00
parent ab100ad19b
commit 5653c6d650
15 changed files with 50 additions and 57 deletions

View File

@@ -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);
}

View File

@@ -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);
}

View File

@@ -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());

View File

@@ -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() {

View File

@@ -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);
}

View File

@@ -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,

View File

@@ -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() {

View File

@@ -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);
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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;
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);