Facade for forum post headers. #172

This commit is contained in:
akwizgran
2015-12-17 16:27:55 +00:00
parent f899bc0c38
commit 351e1bbbe6
11 changed files with 148 additions and 79 deletions

View File

@@ -8,6 +8,7 @@ import org.briarproject.api.db.DatabaseComponent;
import org.briarproject.api.db.DbException;
import org.briarproject.api.forum.Forum;
import org.briarproject.api.forum.ForumManager;
import org.briarproject.api.forum.ForumPostHeader;
import org.briarproject.api.sync.Group;
import org.briarproject.api.sync.GroupId;
import org.briarproject.api.sync.Message;
@@ -35,7 +36,7 @@ class ForumManagerImpl implements ForumManager {
}
@Override
public void addLocalMessage(Message m) throws DbException {
public void addLocalPost(Message m) throws DbException {
db.addLocalMessage(m);
}
@@ -61,14 +62,19 @@ class ForumManagerImpl implements ForumManager {
}
@Override
public byte[] getMessageBody(MessageId m) throws DbException {
public byte[] getPostBody(MessageId m) throws DbException {
return db.getMessageBody(m);
}
@Override
public Collection<MessageHeader> getMessageHeaders(GroupId g)
public Collection<ForumPostHeader> getPostHeaders(GroupId g)
throws DbException {
return db.getMessageHeaders(g);
Collection<MessageHeader> headers = db.getMessageHeaders(g);
List<ForumPostHeader> postHeaders =
new ArrayList<ForumPostHeader>(headers.size());
for (MessageHeader m : headers)
postHeaders.add(new ForumPostHeaderImpl(m));
return Collections.unmodifiableList(postHeaders);
}
@Override

View File

@@ -0,0 +1,46 @@
package org.briarproject.forum;
import org.briarproject.api.forum.ForumPostHeader;
import org.briarproject.api.identity.Author;
import org.briarproject.api.sync.MessageHeader;
import org.briarproject.api.sync.MessageId;
// Temporary facade during sync protocol refactoring
class ForumPostHeaderImpl implements ForumPostHeader {
private final MessageHeader messageHeader;
ForumPostHeaderImpl(MessageHeader messageHeader) {
this.messageHeader = messageHeader;
}
@Override
public MessageId getId() {
return messageHeader.getId();
}
@Override
public Author getAuthor() {
return messageHeader.getAuthor();
}
@Override
public Author.Status getAuthorStatus() {
return messageHeader.getAuthorStatus();
}
@Override
public String getContentType() {
return messageHeader.getContentType();
}
@Override
public long getTimestamp() {
return messageHeader.getTimestamp();
}
@Override
public boolean isRead() {
return messageHeader.isRead();
}
}