From 743fc7dd1fc5c66237ba9d49cccd72aa986a1ebf Mon Sep 17 00:00:00 2001 From: Torsten Grote <t@grobox.de> Date: Tue, 16 Aug 2016 10:56:51 -0300 Subject: [PATCH] Do not require an entire Message for the MessageSharedEvent --- .../org/briarproject/api/clients/ClientHelper.java | 2 +- .../org/briarproject/api/db/DatabaseComponent.java | 2 +- .../briarproject/api/event/MessageSharedEvent.java | 12 ++++++------ .../org/briarproject/clients/ClientHelperImpl.java | 2 +- .../org/briarproject/db/DatabaseComponentImpl.java | 8 ++++---- .../src/org/briarproject/forum/ForumManagerImpl.java | 2 +- .../org/briarproject/blogs/BlogManagerImplTest.java | 2 +- .../briarproject/db/DatabaseComponentImplTest.java | 2 +- 8 files changed, 16 insertions(+), 16 deletions(-) diff --git a/briar-api/src/org/briarproject/api/clients/ClientHelper.java b/briar-api/src/org/briarproject/api/clients/ClientHelper.java index a3524d2767..d4625af665 100644 --- a/briar-api/src/org/briarproject/api/clients/ClientHelper.java +++ b/briar-api/src/org/briarproject/api/clients/ClientHelper.java @@ -72,7 +72,7 @@ public interface ClientHelper { /** * Marks the given message as shared or unshared with other contacts. */ - void setMessageShared(Transaction txn, Message m, boolean shared) + void setMessageShared(Transaction txn, MessageId m, boolean shared) throws DbException; byte[] toByteArray(BdfDictionary dictionary) throws FormatException; diff --git a/briar-api/src/org/briarproject/api/db/DatabaseComponent.java b/briar-api/src/org/briarproject/api/db/DatabaseComponent.java index 735f64a21f..d3dbace30d 100644 --- a/briar-api/src/org/briarproject/api/db/DatabaseComponent.java +++ b/briar-api/src/org/briarproject/api/db/DatabaseComponent.java @@ -437,7 +437,7 @@ public interface DatabaseComponent { /** * Marks the given message as shared or unshared. */ - void setMessageShared(Transaction txn, Message m, boolean shared) + void setMessageShared(Transaction txn, MessageId m, boolean shared) throws DbException; /** diff --git a/briar-api/src/org/briarproject/api/event/MessageSharedEvent.java b/briar-api/src/org/briarproject/api/event/MessageSharedEvent.java index d011e8c3eb..840c7cc42d 100644 --- a/briar-api/src/org/briarproject/api/event/MessageSharedEvent.java +++ b/briar-api/src/org/briarproject/api/event/MessageSharedEvent.java @@ -1,17 +1,17 @@ package org.briarproject.api.event; -import org.briarproject.api.sync.Message; +import org.briarproject.api.sync.MessageId; /** An event that is broadcast when a message is shared. */ public class MessageSharedEvent extends Event { - private final Message message; + private final MessageId messageId; - public MessageSharedEvent(Message message) { - this.message = message; + public MessageSharedEvent(MessageId message) { + this.messageId = message; } - public Message getMessage() { - return message; + public MessageId getMessageId() { + return messageId; } } diff --git a/briar-core/src/org/briarproject/clients/ClientHelperImpl.java b/briar-core/src/org/briarproject/clients/ClientHelperImpl.java index 00778b6b6d..5612e06b88 100644 --- a/briar-core/src/org/briarproject/clients/ClientHelperImpl.java +++ b/briar-core/src/org/briarproject/clients/ClientHelperImpl.java @@ -240,7 +240,7 @@ class ClientHelperImpl implements ClientHelper { } @Override - public void setMessageShared(Transaction txn, Message m, boolean shared) + public void setMessageShared(Transaction txn, MessageId m, boolean shared) throws DbException { db.setMessageShared(txn, m, shared); } diff --git a/briar-core/src/org/briarproject/db/DatabaseComponentImpl.java b/briar-core/src/org/briarproject/db/DatabaseComponentImpl.java index 1039a69e07..01a2d9a96d 100644 --- a/briar-core/src/org/briarproject/db/DatabaseComponentImpl.java +++ b/briar-core/src/org/briarproject/db/DatabaseComponentImpl.java @@ -199,7 +199,7 @@ class DatabaseComponentImpl<T> implements DatabaseComponent { transaction.attach(new MessageAddedEvent(m, null)); transaction.attach(new MessageStateChangedEvent(m, c, true, DELIVERED)); - if (shared) transaction.attach(new MessageSharedEvent(m)); + if (shared) transaction.attach(new MessageSharedEvent(m.getId())); } db.mergeMessageMetadata(txn, m.getId(), meta); } @@ -704,13 +704,13 @@ class DatabaseComponentImpl<T> implements DatabaseComponent { transaction.attach(new ContactStatusChangedEvent(c, active)); } - public void setMessageShared(Transaction transaction, Message m, + public void setMessageShared(Transaction transaction, MessageId m, boolean shared) throws DbException { if (transaction.isReadOnly()) throw new IllegalArgumentException(); T txn = unbox(transaction); - if (!db.containsMessage(txn, m.getId())) + if (!db.containsMessage(txn, m)) throw new NoSuchMessageException(); - db.setMessageShared(txn, m.getId(), shared); + db.setMessageShared(txn, m, shared); if (shared) transaction.attach(new MessageSharedEvent(m)); } diff --git a/briar-core/src/org/briarproject/forum/ForumManagerImpl.java b/briar-core/src/org/briarproject/forum/ForumManagerImpl.java index 84f28dbf99..b33842fc3b 100644 --- a/briar-core/src/org/briarproject/forum/ForumManagerImpl.java +++ b/briar-core/src/org/briarproject/forum/ForumManagerImpl.java @@ -78,7 +78,7 @@ class ForumManagerImpl extends BdfIncomingMessageHook implements ForumManager { protected void incomingMessage(Transaction txn, Message m, BdfList body, BdfDictionary meta) throws DbException, FormatException { - clientHelper.setMessageShared(txn, m, true); + clientHelper.setMessageShared(txn, m.getId(), true); ForumPostHeader post = getForumPostHeader(txn, m.getId(), meta); ForumPostReceivedEvent event = diff --git a/briar-tests/src/org/briarproject/blogs/BlogManagerImplTest.java b/briar-tests/src/org/briarproject/blogs/BlogManagerImplTest.java index 9171103303..637be2dbf3 100644 --- a/briar-tests/src/org/briarproject/blogs/BlogManagerImplTest.java +++ b/briar-tests/src/org/briarproject/blogs/BlogManagerImplTest.java @@ -192,7 +192,7 @@ public class BlogManagerImplTest extends BriarTestCase { ); context.checking(new Expectations() {{ - oneOf(clientHelper).setMessageShared(txn, message, true); + oneOf(clientHelper).setMessageShared(txn, messageId, true); oneOf(identityManager) .getAuthorStatus(txn, blog1.getAuthor().getId()); will(returnValue(VERIFIED)); diff --git a/briar-tests/src/org/briarproject/db/DatabaseComponentImplTest.java b/briar-tests/src/org/briarproject/db/DatabaseComponentImplTest.java index 30f46c0328..123ca114c0 100644 --- a/briar-tests/src/org/briarproject/db/DatabaseComponentImplTest.java +++ b/briar-tests/src/org/briarproject/db/DatabaseComponentImplTest.java @@ -751,7 +751,7 @@ public class DatabaseComponentImplTest extends BriarTestCase { transaction = db.startTransaction(false); try { - db.setMessageShared(transaction, message, true); + db.setMessageShared(transaction, message.getId(), true); fail(); } catch (NoSuchMessageException expected) { // Expected -- GitLab