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

@@ -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;
public class MessagingModule extends AbstractModule {
public class SyncModule extends AbstractModule {
@Override
protected void configure() {