Pass-through implementations of UI/DB interfaces.

This commit is contained in:
akwizgran
2015-12-16 14:16:17 +00:00
parent c5282c5b17
commit 52720c5c04
13 changed files with 306 additions and 6 deletions

View File

@@ -2,14 +2,18 @@
<resources> <resources>
<string-array name="roboguice_modules"> <string-array name="roboguice_modules">
<item>org.briarproject.android.AndroidModule</item> <item>org.briarproject.android.AndroidModule</item>
<item>org.briarproject.contact.ContactModule</item>
<item>org.briarproject.crypto.CryptoModule</item> <item>org.briarproject.crypto.CryptoModule</item>
<item>org.briarproject.data.DataModule</item> <item>org.briarproject.data.DataModule</item>
<item>org.briarproject.db.DatabaseModule</item> <item>org.briarproject.db.DatabaseModule</item>
<item>org.briarproject.event.EventModule</item> <item>org.briarproject.event.EventModule</item>
<item>org.briarproject.forum.ForumModule</item>
<item>org.briarproject.identity.IdentityModule</item>
<item>org.briarproject.invitation.InvitationModule</item> <item>org.briarproject.invitation.InvitationModule</item>
<item>org.briarproject.lifecycle.LifecycleModule</item> <item>org.briarproject.lifecycle.LifecycleModule</item>
<item>org.briarproject.sync.MessagingModule</item> <item>org.briarproject.messaging.MessagingModule</item>
<item>org.briarproject.plugins.AndroidPluginsModule</item> <item>org.briarproject.plugins.AndroidPluginsModule</item>
<item>org.briarproject.sync.SyncModule</item>
<item>org.briarproject.system.AndroidSystemModule</item> <item>org.briarproject.system.AndroidSystemModule</item>
<item>org.briarproject.transport.TransportModule</item> <item>org.briarproject.transport.TransportModule</item>
</string-array> </string-array>

View File

@@ -0,0 +1,44 @@
package org.briarproject.contact;
import com.google.inject.Inject;
import org.briarproject.api.contact.Contact;
import org.briarproject.api.contact.ContactId;
import org.briarproject.api.contact.ContactManager;
import org.briarproject.api.db.DatabaseComponent;
import org.briarproject.api.db.DbException;
import org.briarproject.api.identity.Author;
import org.briarproject.api.identity.AuthorId;
import java.util.Collection;
class ContactManagerImpl implements ContactManager {
private final DatabaseComponent db;
@Inject
ContactManagerImpl(DatabaseComponent db) {
this.db = db;
}
@Override
public ContactId addContact(Author remote, AuthorId local)
throws DbException {
return db.addContact(remote, local);
}
@Override
public Contact getContact(ContactId c) throws DbException {
return db.getContact(c);
}
@Override
public Collection<Contact> getContacts() throws DbException {
return db.getContacts();
}
@Override
public void removeContact(ContactId c) throws DbException {
db.removeContact(c);
}
}

View File

@@ -0,0 +1,13 @@
package org.briarproject.contact;
import com.google.inject.AbstractModule;
import org.briarproject.api.contact.ContactManager;
public class ContactModule extends AbstractModule {
@Override
protected void configure() {
bind(ContactManager.class).to(ContactManagerImpl.class);
}
}

View File

@@ -0,0 +1,93 @@
package org.briarproject.forum;
import com.google.inject.Inject;
import org.briarproject.api.contact.Contact;
import org.briarproject.api.contact.ContactId;
import org.briarproject.api.db.DatabaseComponent;
import org.briarproject.api.db.DbException;
import org.briarproject.api.forum.ForumManager;
import org.briarproject.api.sync.Group;
import org.briarproject.api.sync.GroupId;
import org.briarproject.api.sync.Message;
import org.briarproject.api.sync.MessageHeader;
import org.briarproject.api.sync.MessageId;
import java.util.Collection;
class ForumManagerImpl implements ForumManager {
private final DatabaseComponent db;
@Inject
ForumManagerImpl(DatabaseComponent db) {
this.db = db;
}
@Override
public boolean addGroup(Group g) throws DbException {
return db.addGroup(g);
}
@Override
public void addLocalMessage(Message m) throws DbException {
db.addLocalMessage(m);
}
@Override
public Collection<Group> getAvailableGroups() throws DbException {
return db.getAvailableGroups();
}
@Override
public Group getGroup(GroupId g) throws DbException {
return db.getGroup(g);
}
@Override
public Collection<Group> getGroups() throws DbException {
return db.getGroups();
}
@Override
public byte[] getMessageBody(MessageId m) throws DbException {
return db.getMessageBody(m);
}
@Override
public Collection<MessageHeader> getMessageHeaders(GroupId g)
throws DbException {
return db.getMessageHeaders(g);
}
@Override
public Collection<Contact> getSubscribers(GroupId g) throws DbException {
return db.getSubscribers(g);
}
@Override
public Collection<ContactId> getVisibility(GroupId g) throws DbException {
return db.getVisibility(g);
}
@Override
public void removeGroup(Group g) throws DbException {
db.removeGroup(g);
}
@Override
public void setReadFlag(MessageId m, boolean read) throws DbException {
db.setReadFlag(m, read);
}
@Override
public void setVisibility(GroupId g, Collection<ContactId> visible)
throws DbException {
db.setVisibility(g, visible);
}
@Override
public void setVisibleToAll(GroupId g, boolean all) throws DbException {
db.setVisibleToAll(g, all);
}
}

View File

@@ -0,0 +1,13 @@
package org.briarproject.forum;
import com.google.inject.AbstractModule;
import org.briarproject.api.forum.ForumManager;
public class ForumModule extends AbstractModule {
@Override
protected void configure() {
bind(ForumManager.class).to(ForumManagerImpl.class);
}
}

View File

@@ -0,0 +1,41 @@
package org.briarproject.identity;
import com.google.inject.Inject;
import org.briarproject.api.db.DatabaseComponent;
import org.briarproject.api.db.DbException;
import org.briarproject.api.identity.AuthorId;
import org.briarproject.api.identity.IdentityManager;
import org.briarproject.api.identity.LocalAuthor;
import java.util.Collection;
class IdentityManagerImpl implements IdentityManager {
private final DatabaseComponent db;
@Inject
IdentityManagerImpl(DatabaseComponent db) {
this.db = db;
}
@Override
public void addLocalAuthor(LocalAuthor a) throws DbException {
db.addLocalAuthor(a);
}
@Override
public LocalAuthor getLocalAuthor(AuthorId a) throws DbException {
return db.getLocalAuthor(a);
}
@Override
public Collection<LocalAuthor> getLocalAuthors() throws DbException {
return db.getLocalAuthors();
}
@Override
public void removeLocalAuthor(AuthorId a) throws DbException {
db.removeLocalAuthor(a);
}
}

View File

@@ -0,0 +1,13 @@
package org.briarproject.identity;
import com.google.inject.AbstractModule;
import org.briarproject.api.identity.IdentityManager;
public class IdentityModule extends AbstractModule {
@Override
protected void configure() {
bind(IdentityManager.class).to(IdentityManagerImpl.class);
}
}

View File

@@ -0,0 +1,66 @@
package org.briarproject.messaging;
import com.google.inject.Inject;
import org.briarproject.api.contact.ContactId;
import org.briarproject.api.db.DatabaseComponent;
import org.briarproject.api.db.DbException;
import org.briarproject.api.messaging.MessagingManager;
import org.briarproject.api.sync.Group;
import org.briarproject.api.sync.GroupId;
import org.briarproject.api.sync.Message;
import org.briarproject.api.sync.MessageHeader;
import org.briarproject.api.sync.MessageId;
import java.util.Collection;
class MessagingManagerImpl implements MessagingManager {
private final DatabaseComponent db;
@Inject
MessagingManagerImpl(DatabaseComponent db) {
this.db = db;
}
@Override
public boolean addGroup(Group g) throws DbException {
return db.addGroup(g);
}
@Override
public void addLocalMessage(Message m) throws DbException {
db.addLocalMessage(m);
}
@Override
public Group getGroup(GroupId g) throws DbException {
return db.getGroup(g);
}
@Override
public GroupId getInboxGroupId(ContactId c) throws DbException {
return db.getInboxGroupId(c);
}
@Override
public Collection<MessageHeader> getInboxMessageHeaders(ContactId c)
throws DbException {
return db.getInboxMessageHeaders(c);
}
@Override
public byte[] getMessageBody(MessageId m) throws DbException {
return db.getMessageBody(m);
}
@Override
public void setInboxGroup(ContactId c, Group g) throws DbException {
db.setInboxGroup(c, g);
}
@Override
public void setReadFlag(MessageId m, boolean read) throws DbException {
db.setReadFlag(m, read);
}
}

View File

@@ -0,0 +1,13 @@
package org.briarproject.messaging;
import com.google.inject.AbstractModule;
import org.briarproject.api.messaging.MessagingManager;
public class MessagingModule extends AbstractModule {
@Override
protected void configure() {
bind(MessagingManager.class).to(MessagingManagerImpl.class);
}
}

View File

@@ -19,7 +19,7 @@ import org.briarproject.api.sync.UnverifiedMessage;
import javax.inject.Singleton; import javax.inject.Singleton;
public class MessagingModule extends AbstractModule { public class SyncModule extends AbstractModule {
@Override @Override
protected void configure() { protected void configure() {

View File

@@ -34,7 +34,7 @@ import org.briarproject.crypto.CryptoModule;
import org.briarproject.data.DataModule; import org.briarproject.data.DataModule;
import org.briarproject.db.DatabaseModule; import org.briarproject.db.DatabaseModule;
import org.briarproject.event.EventModule; import org.briarproject.event.EventModule;
import org.briarproject.sync.MessagingModule; import org.briarproject.sync.SyncModule;
import org.briarproject.transport.TransportModule; import org.briarproject.transport.TransportModule;
import org.junit.Test; import org.junit.Test;
@@ -72,7 +72,7 @@ public class ProtocolIntegrationTest extends BriarTestCase {
Injector i = Guice.createInjector(new TestDatabaseModule(), Injector i = Guice.createInjector(new TestDatabaseModule(),
new TestLifecycleModule(), new TestSystemModule(), new TestLifecycleModule(), new TestSystemModule(),
new CryptoModule(), new DatabaseModule(), new EventModule(), new CryptoModule(), new DatabaseModule(), new EventModule(),
new MessagingModule(), new DataModule(), new SyncModule(), new DataModule(),
new TransportModule()); new TransportModule());
streamReaderFactory = i.getInstance(StreamReaderFactory.class); streamReaderFactory = i.getInstance(StreamReaderFactory.class);
streamWriterFactory = i.getInstance(StreamWriterFactory.class); streamWriterFactory = i.getInstance(StreamWriterFactory.class);

View File

@@ -65,7 +65,7 @@ public class ConstantsTest extends BriarTestCase {
Injector i = Guice.createInjector(new TestDatabaseModule(), Injector i = Guice.createInjector(new TestDatabaseModule(),
new TestLifecycleModule(), new TestSystemModule(), new TestLifecycleModule(), new TestSystemModule(),
new CryptoModule(), new DatabaseModule(), new EventModule(), new CryptoModule(), new DatabaseModule(), new EventModule(),
new org.briarproject.sync.MessagingModule(), new DataModule()); new SyncModule(), new DataModule());
crypto = i.getInstance(CryptoComponent.class); crypto = i.getInstance(CryptoComponent.class);
groupFactory = i.getInstance(GroupFactory.class); groupFactory = i.getInstance(GroupFactory.class);
authorFactory = i.getInstance(AuthorFactory.class); authorFactory = i.getInstance(AuthorFactory.class);

View File

@@ -87,7 +87,7 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase {
return Guice.createInjector(new TestDatabaseModule(dir), return Guice.createInjector(new TestDatabaseModule(dir),
new TestLifecycleModule(), new TestSystemModule(), new TestLifecycleModule(), new TestSystemModule(),
new CryptoModule(), new DatabaseModule(), new EventModule(), new CryptoModule(), new DatabaseModule(), new EventModule(),
new org.briarproject.sync.MessagingModule(), new DataModule(), new SyncModule(), new DataModule(),
new TransportModule()); new TransportModule());
} }