diff --git a/briar-api/src/org/briarproject/api/clients/ClientHelper.java b/briar-api/src/org/briarproject/api/clients/ClientHelper.java index a3524d2767d17e188249ec3390b140c283e4021a..d4625af665fbec6876b330e780a6a9d3b1121cbd 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 735f64a21fedb927bcc60b3d8cfb8d83339b8fe3..d3dbace30d300d794fa593ab6ecec34f0ff4d7cb 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 d011e8c3ebe5394e2dccb13c22f423c827db725e..840c7cc42d6808497f98bea0cbde985e008ccbb5 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 00778b6b6dab5391c14bf6eff58db8a49ca6f66c..5612e06b88f243ff30a19e743c5e4403827362a4 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 1039a69e07bfa5467f48ac9084c29e15907afb47..01a2d9a96df25e5a22800ba37b888a66d729bf26 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 84f28dbf995daf4099f25a8cbfba5f286859bde7..b33842fc3b65ab9b0598bcd8445ff3943b31e9b3 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 9171103303cd56591afb0ea78d1f3c4f4054d0a3..637be2dbf3f5504ee462556d36c3dadd3254c006 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 30f46c03280ba350a99468dac35dd576a6b75be7..123ca114c0cb89539a704087d043f89eca2fe527 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