Contact manager hooks. #209

This commit is contained in:
akwizgran
2016-01-19 19:16:35 +00:00
parent 33ef09a6bf
commit 82cf12040f
29 changed files with 333 additions and 195 deletions

View File

@@ -4,9 +4,9 @@ import com.google.inject.AbstractModule;
import com.google.inject.Provides;
import org.briarproject.api.data.ObjectReader;
import org.briarproject.api.event.EventBus;
import org.briarproject.api.identity.Author;
import org.briarproject.api.identity.AuthorFactory;
import org.briarproject.api.lifecycle.LifecycleManager;
import org.briarproject.api.sync.Group;
import org.briarproject.api.sync.GroupFactory;
import org.briarproject.api.sync.MessageFactory;
@@ -48,9 +48,9 @@ public class SyncModule extends AbstractModule {
}
@Provides @Singleton
ValidationManager getValidationManager(LifecycleManager lifecycleManager,
ValidationManager getValidationManager(EventBus eventBus,
ValidationManagerImpl validationManager) {
lifecycleManager.register(validationManager);
eventBus.addListener(validationManager);
return validationManager;
}
}

View File

@@ -11,10 +11,8 @@ import org.briarproject.api.db.Metadata;
import org.briarproject.api.db.NoSuchMessageException;
import org.briarproject.api.db.NoSuchSubscriptionException;
import org.briarproject.api.event.Event;
import org.briarproject.api.event.EventBus;
import org.briarproject.api.event.EventListener;
import org.briarproject.api.event.MessageAddedEvent;
import org.briarproject.api.lifecycle.Service;
import org.briarproject.api.sync.ClientId;
import org.briarproject.api.sync.GroupId;
import org.briarproject.api.sync.Message;
@@ -31,8 +29,7 @@ import java.util.logging.Logger;
import static java.util.logging.Level.WARNING;
import static org.briarproject.api.sync.SyncConstants.MESSAGE_HEADER_LENGTH;
class ValidationManagerImpl implements ValidationManager, Service,
EventListener {
class ValidationManagerImpl implements ValidationManager, EventListener {
private static final Logger LOG =
Logger.getLogger(ValidationManagerImpl.class.getName());
@@ -40,32 +37,18 @@ class ValidationManagerImpl implements ValidationManager, Service,
private final DatabaseComponent db;
private final Executor dbExecutor;
private final Executor cryptoExecutor;
private final EventBus eventBus;
private final Map<ClientId, MessageValidator> validators;
@Inject
ValidationManagerImpl(DatabaseComponent db,
@DatabaseExecutor Executor dbExecutor,
@CryptoExecutor Executor cryptoExecutor, EventBus eventBus) {
@CryptoExecutor Executor cryptoExecutor) {
this.db = db;
this.dbExecutor = dbExecutor;
this.cryptoExecutor = cryptoExecutor;
this.eventBus = eventBus;
validators = new ConcurrentHashMap<ClientId, MessageValidator>();
}
@Override
public boolean start() {
eventBus.addListener(this);
return true;
}
@Override
public boolean stop() {
eventBus.removeListener(this);
return true;
}
@Override
public void setMessageValidator(ClientId c, MessageValidator v) {
validators.put(c, v);