Renamed validation hooks to incoming message hooks.

This commit is contained in:
akwizgran
2016-03-07 15:38:56 +00:00
parent 8960644273
commit c9276de399
5 changed files with 42 additions and 39 deletions

View File

@@ -53,7 +53,8 @@ public class ForumModule extends AbstractModule {
ForumSharingManagerImpl forumSharingManager) {
contactManager.registerAddContactHook(forumSharingManager);
contactManager.registerRemoveContactHook(forumSharingManager);
validationManager.registerValidationHook(forumSharingManager);
validationManager.registerIncomingMessageHook(
ForumSharingManagerImpl.CLIENT_ID, forumSharingManager);
return forumSharingManager;
}
}

View File

@@ -24,7 +24,7 @@ import org.briarproject.api.sync.GroupFactory;
import org.briarproject.api.sync.GroupId;
import org.briarproject.api.sync.Message;
import org.briarproject.api.sync.MessageId;
import org.briarproject.api.sync.ValidationManager.ValidationHook;
import org.briarproject.api.sync.ValidationManager.IncomingMessageHook;
import org.briarproject.api.system.Clock;
import org.briarproject.util.StringUtils;
@@ -44,7 +44,7 @@ import static org.briarproject.api.forum.ForumConstants.MAX_FORUM_NAME_LENGTH;
import static org.briarproject.api.sync.SyncConstants.MESSAGE_HEADER_LENGTH;
class ForumSharingManagerImpl implements ForumSharingManager, AddContactHook,
RemoveContactHook, ValidationHook {
RemoveContactHook, IncomingMessageHook {
static final ClientId CLIENT_ID = new ClientId(StringUtils.fromHexString(
"cd11a5d04dccd9e2931d6fc3df456313"
@@ -103,15 +103,13 @@ class ForumSharingManagerImpl implements ForumSharingManager, AddContactHook,
}
@Override
public void validatingMessage(Transaction txn, Message m, ClientId c,
Metadata meta) throws DbException {
if (c.equals(CLIENT_ID)) {
try {
ContactId contactId = getContactId(txn, m.getGroupId());
setForumVisibility(txn, contactId, getVisibleForums(txn, m));
} catch (FormatException e) {
throw new DbException(e);
}
public void incomingMessage(Transaction txn, Message m, Metadata meta)
throws DbException {
try {
ContactId contactId = getContactId(txn, m.getGroupId());
setForumVisibility(txn, contactId, getVisibleForums(txn, m));
} catch (FormatException e) {
throw new DbException(e);
}
}

View File

@@ -25,11 +25,9 @@ import org.briarproject.api.sync.ValidationManager;
import org.briarproject.util.ByteUtils;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Queue;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.Executor;
import java.util.logging.Logger;
@@ -46,7 +44,7 @@ class ValidationManagerImpl implements ValidationManager, Service,
private final Executor dbExecutor;
private final Executor cryptoExecutor;
private final Map<ClientId, MessageValidator> validators;
private final List<ValidationHook> hooks;
private final Map<ClientId, IncomingMessageHook> hooks;
@Inject
ValidationManagerImpl(DatabaseComponent db,
@@ -56,7 +54,7 @@ class ValidationManagerImpl implements ValidationManager, Service,
this.dbExecutor = dbExecutor;
this.cryptoExecutor = cryptoExecutor;
validators = new ConcurrentHashMap<ClientId, MessageValidator>();
hooks = new CopyOnWriteArrayList<ValidationHook>();
hooks = new ConcurrentHashMap<ClientId, IncomingMessageHook>();
}
@Override
@@ -76,8 +74,8 @@ class ValidationManagerImpl implements ValidationManager, Service,
}
@Override
public void registerValidationHook(ValidationHook hook) {
hooks.add(hook);
public void registerIncomingMessageHook(ClientId c, IncomingMessageHook hook) {
hooks.put(c, hook);
}
private void getMessagesToValidate(final ClientId c) {
@@ -170,8 +168,9 @@ class ValidationManagerImpl implements ValidationManager, Service,
db.mergeMessageMetadata(txn, m.getId(), meta);
db.setMessageValid(txn, m, c, true);
db.setMessageShared(txn, m, true);
for (ValidationHook hook : hooks)
hook.validatingMessage(txn, m, c, meta);
IncomingMessageHook hook = hooks.get(c);
if (hook != null)
hook.incomingMessage(txn, m, meta);
}
txn.setComplete();
} finally {