diff --git a/src/main/java/org/briarproject/briar/desktop/chat/ChatHistoryConversationVisitor.java b/src/main/java/org/briarproject/briar/desktop/chat/ChatHistoryConversationVisitor.java deleted file mode 100644 index def7853ad30e88f39f14f623d869ffcfe06c8aae..0000000000000000000000000000000000000000 --- a/src/main/java/org/briarproject/briar/desktop/chat/ChatHistoryConversationVisitor.java +++ /dev/null @@ -1,104 +0,0 @@ -package org.briarproject.briar.desktop.chat; - -import org.briarproject.bramble.api.db.DbException; -import org.briarproject.bramble.api.identity.Author; -import org.briarproject.briar.api.blog.BlogInvitationRequest; -import org.briarproject.briar.api.blog.BlogInvitationResponse; -import org.briarproject.briar.api.conversation.ConversationMessageHeader; -import org.briarproject.briar.api.conversation.ConversationMessageVisitor; -import org.briarproject.briar.api.forum.ForumInvitationRequest; -import org.briarproject.briar.api.forum.ForumInvitationResponse; -import org.briarproject.briar.api.introduction.IntroductionRequest; -import org.briarproject.briar.api.introduction.IntroductionResponse; -import org.briarproject.briar.api.messaging.MessagingManager; -import org.briarproject.briar.api.messaging.PrivateMessageHeader; -import org.briarproject.briar.api.privategroup.invitation.GroupInvitationRequest; -import org.briarproject.briar.api.privategroup.invitation.GroupInvitationResponse; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class ChatHistoryConversationVisitor - implements ConversationMessageVisitor<Void> { - - final static Logger logger = LoggerFactory.getLogger(ChatHistoryConversationVisitor.class); - - private Chat chat; - private MessagingManager messagingManager; - - public ChatHistoryConversationVisitor(Chat chat, MessagingManager messagingManager) { - this.chat = chat; - this.messagingManager = messagingManager; - } - - void appendMessage(ConversationMessageHeader header) { - try { - String messageText = messagingManager.getMessageText(header.getId()); - chat.appendMessage(header.isLocal(), header.getTimestamp(), messageText); - } catch (DbException e) { - logger.warn("Error while getting message text", e); - } - } - - @Override - public Void visitPrivateMessageHeader(PrivateMessageHeader h) { - appendMessage(h); - return null; - } - - @Override - public Void visitBlogInvitationRequest(BlogInvitationRequest r) { - return null; - } - - @Override - public Void visitBlogInvitationResponse(BlogInvitationResponse r) { - return null; - } - - @Override - public Void visitForumInvitationRequest(ForumInvitationRequest r) { - return null; - } - - @Override - public Void visitForumInvitationResponse(ForumInvitationResponse r) { - return null; - } - - @Override - public Void visitGroupInvitationRequest(GroupInvitationRequest r) { - return null; - } - - @Override - public Void visitGroupInvitationResponse(GroupInvitationResponse r) { - return null; - } - - @Override - public Void visitIntroductionRequest(IntroductionRequest r) { - Author nameable = r.getNameable(); - chat.appendMessage(r.isLocal(), r.getTimestamp(), String.format( - "You received an introduction request! Username: %s, Message: %s", - r.getName(), r.getText())); - if (!r.wasAnswered()) { - chat.appendMessage(r.isLocal(), r.getTimestamp(), - "Do you accept the invitation?"); - // TODO chat.appendYesNoButtons(r); - } - return null; - } - - @Override - public Void visitIntroductionResponse(IntroductionResponse r) { - if (r.wasAccepted()) { - chat.appendMessage(r.isLocal(), r.getTimestamp(), - "You accepted the request"); - } else { - chat.appendMessage(r.isLocal(), r.getTimestamp(), - "You declined the request"); - } - return null; - } - -} diff --git a/src/main/java/org/briarproject/briar/desktop/chat/ConversationMessageHeaderComparator.java b/src/main/java/org/briarproject/briar/desktop/chat/ConversationMessageHeaderComparator.java deleted file mode 100644 index beace82b0d24eaeb39dfc97daa09148ca632efb3..0000000000000000000000000000000000000000 --- a/src/main/java/org/briarproject/briar/desktop/chat/ConversationMessageHeaderComparator.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.briarproject.briar.desktop.chat; - -import org.briarproject.briar.api.conversation.ConversationMessageHeader; - -import java.util.Comparator; - -public class ConversationMessageHeaderComparator - implements Comparator<ConversationMessageHeader> { - - @Override - public int compare(ConversationMessageHeader h1, - ConversationMessageHeader h2) { - return Long.compare(h1.getTimestamp(), h2.getTimestamp()); - } - -} diff --git a/src/main/kotlin/org/briarproject/briar/desktop/chat/ChatHistoryConversationVisitor.kt b/src/main/kotlin/org/briarproject/briar/desktop/chat/ChatHistoryConversationVisitor.kt new file mode 100644 index 0000000000000000000000000000000000000000..1983c8a8705aa223a05bb178e461c2afea2b1e0d --- /dev/null +++ b/src/main/kotlin/org/briarproject/briar/desktop/chat/ChatHistoryConversationVisitor.kt @@ -0,0 +1,98 @@ +package org.briarproject.briar.desktop.chat + +import org.briarproject.bramble.api.db.DbException +import org.briarproject.briar.api.blog.BlogInvitationRequest +import org.briarproject.briar.api.blog.BlogInvitationResponse +import org.briarproject.briar.api.conversation.ConversationMessageHeader +import org.briarproject.briar.api.conversation.ConversationMessageVisitor +import org.briarproject.briar.api.forum.ForumInvitationRequest +import org.briarproject.briar.api.forum.ForumInvitationResponse +import org.briarproject.briar.api.introduction.IntroductionRequest +import org.briarproject.briar.api.introduction.IntroductionResponse +import org.briarproject.briar.api.messaging.MessagingManager +import org.briarproject.briar.api.messaging.PrivateMessageHeader +import org.briarproject.briar.api.privategroup.invitation.GroupInvitationRequest +import org.briarproject.briar.api.privategroup.invitation.GroupInvitationResponse +import org.slf4j.LoggerFactory + +class ChatHistoryConversationVisitor( + private val chat: Chat, + private val messagingManager: MessagingManager +) : + ConversationMessageVisitor<Void?> { + + companion object { + val logger = LoggerFactory.getLogger(ChatHistoryConversationVisitor::class.java) + } + + fun appendMessage(header: ConversationMessageHeader) { + try { + val messageText = messagingManager.getMessageText(header.id) + chat.appendMessage(header.isLocal, header.timestamp, messageText) + } catch (e: DbException) { + logger.warn("Error while getting message text", e) + } + } + + override fun visitPrivateMessageHeader(h: PrivateMessageHeader): Void? { + appendMessage(h) + return null + } + + override fun visitBlogInvitationRequest(r: BlogInvitationRequest): Void? { + return null + } + + override fun visitBlogInvitationResponse(r: BlogInvitationResponse): Void? { + return null + } + + override fun visitForumInvitationRequest(r: ForumInvitationRequest): Void? { + return null + } + + override fun visitForumInvitationResponse(r: ForumInvitationResponse): Void? { + return null + } + + override fun visitGroupInvitationRequest(r: GroupInvitationRequest): Void? { + return null + } + + override fun visitGroupInvitationResponse(r: GroupInvitationResponse): Void? { + return null + } + + override fun visitIntroductionRequest(r: IntroductionRequest): Void? { + chat.appendMessage( + r.isLocal, r.timestamp, String.format( + "You received an introduction request! Username: %s, Message: %s", + r.name, r.text + ) + ) + if (!r.wasAnswered()) { + chat.appendMessage( + r.isLocal, r.timestamp, + "Do you accept the invitation?" + ) + // TODO chat.appendYesNoButtons(r); + } + return null + } + + override fun visitIntroductionResponse(r: IntroductionResponse): Void? { + if (r.wasAccepted()) { + chat.appendMessage( + r.isLocal, r.timestamp, + "You accepted the request" + ) + } else { + chat.appendMessage( + r.isLocal, r.timestamp, + "You declined the request" + ) + } + return null + } + +} \ No newline at end of file diff --git a/src/main/kotlin/org/briarproject/briar/desktop/chat/ConversationMessageHeaderComparator.kt b/src/main/kotlin/org/briarproject/briar/desktop/chat/ConversationMessageHeaderComparator.kt new file mode 100644 index 0000000000000000000000000000000000000000..32205bfb2d0fa0ce569563d8c8f1b6cf8834e9bb --- /dev/null +++ b/src/main/kotlin/org/briarproject/briar/desktop/chat/ConversationMessageHeaderComparator.kt @@ -0,0 +1,14 @@ +package org.briarproject.briar.desktop.chat + +import org.briarproject.briar.api.conversation.ConversationMessageHeader + +class ConversationMessageHeaderComparator : Comparator<ConversationMessageHeader> { + + override fun compare( + h1: ConversationMessageHeader, + h2: ConversationMessageHeader + ): Int { + return h1.timestamp.compareTo(h2.timestamp) + } + +} \ No newline at end of file