From 0dc51d8768cba03ecff82a5c0dc8c7ece695af6b Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Fri, 5 Jan 2018 12:48:04 +0300 Subject: formatHtml --- .../src/main/java/com/juick/api/EmailManager.java | 4 +--- .../src/main/java/com/juick/util/MessageUtils.java | 27 ++++++++++++++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/juick-api/src/main/java/com/juick/api/EmailManager.java b/juick-api/src/main/java/com/juick/api/EmailManager.java index af66466f..2ada6ab9 100644 --- a/juick-api/src/main/java/com/juick/api/EmailManager.java +++ b/juick-api/src/main/java/com/juick/api/EmailManager.java @@ -83,12 +83,10 @@ public class EmailManager implements ApplicationListener { StringUtils.isNotEmpty(msg.getText()) ? formatPost(msg) : "", formatUrl(msg)); MimeBodyPart textBodyPart = new MimeBodyPart(); textBodyPart.setContent(plainText, "text/plain; charset=UTF-8"); - boolean isCode = msg.getTags().stream().anyMatch(t -> t.getName().equals("code")); String htmlText = String.format("%s

--
You are receiving this because you are subscribed to this user " + ", discussion or tag. Reply to this email directly or view it on Juick." + "
Configure or disable notifications", - StringUtils.isNotEmpty(msg.getText()) ? isCode ? MessageUtils.formatMessageCode(msg.getText()) - : MessageUtils.formatMessage(msg.getText()) : "", formatUrl(msg), + StringUtils.isNotEmpty(msg.getText()) ? MessageUtils.formatHtml(msg) : "", formatUrl(msg), userService.getHashByUID(userService.getUserByEmail(email).getUid())); MimeBodyPart htmlBodyPart = new MimeBodyPart(); htmlBodyPart.setContent(htmlText, "text/html; charset=UTF-8"); diff --git a/juick-core/src/main/java/com/juick/util/MessageUtils.java b/juick-core/src/main/java/com/juick/util/MessageUtils.java index 03b677d4..91cc7870 100644 --- a/juick-core/src/main/java/com/juick/util/MessageUtils.java +++ b/juick-core/src/main/java/com/juick/util/MessageUtils.java @@ -143,6 +143,33 @@ public class MessageUtils { return msg; } + public static String formatHtml(Message jmsg) { + StringBuilder sb = new StringBuilder(); + boolean isReply = jmsg.getRid() > 0; + String title = isReply ? "

Reply by @" : "@"; + String subtitle = isReply ? "" + jmsg.getReplyQuote() + "" : "" + jmsg.getTagsString() + ""; + boolean isCode = jmsg.getTags().stream().anyMatch(t -> t.getName().equals("code")); + + sb.append(title).append(jmsg.getUser().getName()).append(":


") + .append(subtitle).append("
") + .append(isCode ? formatMessageCode(jmsg.getText()) : formatMessage(jmsg.getText())).append("
"); + if (StringUtils.isNotEmpty(jmsg.getAttachmentType())) { + // FIXME: attachment does not serialized to xml + if (jmsg.getAttachment() == null) { + if (jmsg.getRid() > 0) { + sb.append(String.format("", jmsg.getMid(), + jmsg.getRid(), jmsg.getAttachmentType())); + } else { + sb.append(String.format("", jmsg.getMid(), + jmsg.getAttachmentType())); + } + } else { + sb.append(""); + } + } + return sb.toString(); + } + public static String getMessageHashTags(final Message jmsg) { StringBuilder hashtags = new StringBuilder(); for (Tag tag : jmsg.getTags()) { -- cgit v1.2.3