From 52720c5c041c64953551425b97fb3d9d5dc7474c Mon Sep 17 00:00:00 2001 From: akwizgran <akwizgran@users.sourceforge.net> Date: Wed, 16 Dec 2015 14:16:17 +0000 Subject: [PATCH] Pass-through implementations of UI/DB interfaces. --- briar-android/res/values/roboguice.xml | 6 +- .../contact/ContactManagerImpl.java | 44 +++++++++ .../briarproject/contact/ContactModule.java | 13 +++ .../briarproject/forum/ForumManagerImpl.java | 93 +++++++++++++++++++ .../org/briarproject/forum/ForumModule.java | 13 +++ .../identity/IdentityManagerImpl.java | 41 ++++++++ .../briarproject/identity/IdentityModule.java | 13 +++ .../messaging/MessagingManagerImpl.java | 66 +++++++++++++ .../messaging/MessagingModule.java | 13 +++ .../{MessagingModule.java => SyncModule.java} | 2 +- .../briarproject/ProtocolIntegrationTest.java | 4 +- .../org/briarproject/sync/ConstantsTest.java | 2 +- .../sync/SimplexMessagingIntegrationTest.java | 2 +- 13 files changed, 306 insertions(+), 6 deletions(-) create mode 100644 briar-core/src/org/briarproject/contact/ContactManagerImpl.java create mode 100644 briar-core/src/org/briarproject/contact/ContactModule.java create mode 100644 briar-core/src/org/briarproject/forum/ForumManagerImpl.java create mode 100644 briar-core/src/org/briarproject/forum/ForumModule.java create mode 100644 briar-core/src/org/briarproject/identity/IdentityManagerImpl.java create mode 100644 briar-core/src/org/briarproject/identity/IdentityModule.java create mode 100644 briar-core/src/org/briarproject/messaging/MessagingManagerImpl.java create mode 100644 briar-core/src/org/briarproject/messaging/MessagingModule.java rename briar-core/src/org/briarproject/sync/{MessagingModule.java => SyncModule.java} (97%) diff --git a/briar-android/res/values/roboguice.xml b/briar-android/res/values/roboguice.xml index 92220cc843..7f33cf6d5c 100644 --- a/briar-android/res/values/roboguice.xml +++ b/briar-android/res/values/roboguice.xml @@ -2,14 +2,18 @@ <resources> <string-array name="roboguice_modules"> <item>org.briarproject.android.AndroidModule</item> + <item>org.briarproject.contact.ContactModule</item> <item>org.briarproject.crypto.CryptoModule</item> <item>org.briarproject.data.DataModule</item> <item>org.briarproject.db.DatabaseModule</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.lifecycle.LifecycleModule</item> - <item>org.briarproject.sync.MessagingModule</item> + <item>org.briarproject.messaging.MessagingModule</item> <item>org.briarproject.plugins.AndroidPluginsModule</item> + <item>org.briarproject.sync.SyncModule</item> <item>org.briarproject.system.AndroidSystemModule</item> <item>org.briarproject.transport.TransportModule</item> </string-array> diff --git a/briar-core/src/org/briarproject/contact/ContactManagerImpl.java b/briar-core/src/org/briarproject/contact/ContactManagerImpl.java new file mode 100644 index 0000000000..3a1648f16c --- /dev/null +++ b/briar-core/src/org/briarproject/contact/ContactManagerImpl.java @@ -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); + } +} diff --git a/briar-core/src/org/briarproject/contact/ContactModule.java b/briar-core/src/org/briarproject/contact/ContactModule.java new file mode 100644 index 0000000000..6bd786aa3b --- /dev/null +++ b/briar-core/src/org/briarproject/contact/ContactModule.java @@ -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); + } +} diff --git a/briar-core/src/org/briarproject/forum/ForumManagerImpl.java b/briar-core/src/org/briarproject/forum/ForumManagerImpl.java new file mode 100644 index 0000000000..06c902c98a --- /dev/null +++ b/briar-core/src/org/briarproject/forum/ForumManagerImpl.java @@ -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); + } +} diff --git a/briar-core/src/org/briarproject/forum/ForumModule.java b/briar-core/src/org/briarproject/forum/ForumModule.java new file mode 100644 index 0000000000..0015457c1b --- /dev/null +++ b/briar-core/src/org/briarproject/forum/ForumModule.java @@ -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); + } +} diff --git a/briar-core/src/org/briarproject/identity/IdentityManagerImpl.java b/briar-core/src/org/briarproject/identity/IdentityManagerImpl.java new file mode 100644 index 0000000000..89e4f324d3 --- /dev/null +++ b/briar-core/src/org/briarproject/identity/IdentityManagerImpl.java @@ -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); + } +} diff --git a/briar-core/src/org/briarproject/identity/IdentityModule.java b/briar-core/src/org/briarproject/identity/IdentityModule.java new file mode 100644 index 0000000000..98134d1992 --- /dev/null +++ b/briar-core/src/org/briarproject/identity/IdentityModule.java @@ -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); + } +} diff --git a/briar-core/src/org/briarproject/messaging/MessagingManagerImpl.java b/briar-core/src/org/briarproject/messaging/MessagingManagerImpl.java new file mode 100644 index 0000000000..b3929a1ed7 --- /dev/null +++ b/briar-core/src/org/briarproject/messaging/MessagingManagerImpl.java @@ -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); + } +} diff --git a/briar-core/src/org/briarproject/messaging/MessagingModule.java b/briar-core/src/org/briarproject/messaging/MessagingModule.java new file mode 100644 index 0000000000..762e9c76dc --- /dev/null +++ b/briar-core/src/org/briarproject/messaging/MessagingModule.java @@ -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); + } +} diff --git a/briar-core/src/org/briarproject/sync/MessagingModule.java b/briar-core/src/org/briarproject/sync/SyncModule.java similarity index 97% rename from briar-core/src/org/briarproject/sync/MessagingModule.java rename to briar-core/src/org/briarproject/sync/SyncModule.java index d73de1a7c5..1caef5bf1f 100644 --- a/briar-core/src/org/briarproject/sync/MessagingModule.java +++ b/briar-core/src/org/briarproject/sync/SyncModule.java @@ -19,7 +19,7 @@ import org.briarproject.api.sync.UnverifiedMessage; import javax.inject.Singleton; -public class MessagingModule extends AbstractModule { +public class SyncModule extends AbstractModule { @Override protected void configure() { diff --git a/briar-tests/src/org/briarproject/ProtocolIntegrationTest.java b/briar-tests/src/org/briarproject/ProtocolIntegrationTest.java index d942de487f..807b04c185 100644 --- a/briar-tests/src/org/briarproject/ProtocolIntegrationTest.java +++ b/briar-tests/src/org/briarproject/ProtocolIntegrationTest.java @@ -34,7 +34,7 @@ import org.briarproject.crypto.CryptoModule; import org.briarproject.data.DataModule; import org.briarproject.db.DatabaseModule; import org.briarproject.event.EventModule; -import org.briarproject.sync.MessagingModule; +import org.briarproject.sync.SyncModule; import org.briarproject.transport.TransportModule; import org.junit.Test; @@ -72,7 +72,7 @@ public class ProtocolIntegrationTest extends BriarTestCase { Injector i = Guice.createInjector(new TestDatabaseModule(), new TestLifecycleModule(), new TestSystemModule(), new CryptoModule(), new DatabaseModule(), new EventModule(), - new MessagingModule(), new DataModule(), + new SyncModule(), new DataModule(), new TransportModule()); streamReaderFactory = i.getInstance(StreamReaderFactory.class); streamWriterFactory = i.getInstance(StreamWriterFactory.class); diff --git a/briar-tests/src/org/briarproject/sync/ConstantsTest.java b/briar-tests/src/org/briarproject/sync/ConstantsTest.java index c823206a49..00149a8a01 100644 --- a/briar-tests/src/org/briarproject/sync/ConstantsTest.java +++ b/briar-tests/src/org/briarproject/sync/ConstantsTest.java @@ -65,7 +65,7 @@ public class ConstantsTest extends BriarTestCase { Injector i = Guice.createInjector(new TestDatabaseModule(), new TestLifecycleModule(), new TestSystemModule(), new CryptoModule(), new DatabaseModule(), new EventModule(), - new org.briarproject.sync.MessagingModule(), new DataModule()); + new SyncModule(), new DataModule()); crypto = i.getInstance(CryptoComponent.class); groupFactory = i.getInstance(GroupFactory.class); authorFactory = i.getInstance(AuthorFactory.class); diff --git a/briar-tests/src/org/briarproject/sync/SimplexMessagingIntegrationTest.java b/briar-tests/src/org/briarproject/sync/SimplexMessagingIntegrationTest.java index 04db6db752..7cb2ed9b35 100644 --- a/briar-tests/src/org/briarproject/sync/SimplexMessagingIntegrationTest.java +++ b/briar-tests/src/org/briarproject/sync/SimplexMessagingIntegrationTest.java @@ -87,7 +87,7 @@ public class SimplexMessagingIntegrationTest extends BriarTestCase { return Guice.createInjector(new TestDatabaseModule(dir), new TestLifecycleModule(), new TestSystemModule(), new CryptoModule(), new DatabaseModule(), new EventModule(), - new org.briarproject.sync.MessagingModule(), new DataModule(), + new SyncModule(), new DataModule(), new TransportModule()); } -- GitLab