Skip to content

Commit

Permalink
Move cleanse to MailUtil
Browse files Browse the repository at this point in the history
  • Loading branch information
rpoet-jh committed Dec 18, 2024
1 parent 1fa9ebd commit c166198
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import jakarta.mail.MessagingException;
import jakarta.mail.Multipart;
import jakarta.mail.Part;
import org.apache.commons.lang3.StringUtils;

/**
* @author Russ Poetker ([email protected])
Expand All @@ -31,7 +32,7 @@ private MailUtil() {}

static String getHtmlText(Part part) throws MessagingException, IOException {
if (part.isMimeType("text/html")) {
return part.getContent().toString();
return cleanseContent(part.getContent().toString());
}

if (part.isMimeType("multipart/alternative")) {
Expand All @@ -40,7 +41,7 @@ static String getHtmlText(Part part) throws MessagingException, IOException {
for (int i = 0; i < count; i++) {
Part bodyPart = multipart.getBodyPart(i);
if (bodyPart.isMimeType("text/html")) {
return bodyPart.getContent().toString();
return cleanseContent(bodyPart.getContent().toString());
} else if (bodyPart.isMimeType("multipart/*")) {
return getHtmlText(bodyPart);
}
Expand All @@ -52,11 +53,15 @@ static String getHtmlText(Part part) throws MessagingException, IOException {
Part bodyPart = multipart.getBodyPart(i);
String content = getHtmlText(bodyPart);
if (Objects.nonNull(content)) {
return content;
return cleanseContent(content);
}
}
}

return null;
}

private static String cleanseContent(String content) {
return StringUtils.normalizeSpace(content);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
import jakarta.mail.internet.AddressException;
import jakarta.mail.internet.InternetAddress;
import jakarta.mail.internet.MimeMessage;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.pass.deposit.provider.nihms.NihmsAssembler;
import org.eclipse.pass.support.client.PassClient;
import org.eclipse.pass.support.client.PassClientSelector;
Expand Down Expand Up @@ -100,15 +99,14 @@ public void handleReceivedMail(MimeMessage receivedMessage) {
}
LOG.warn("Email is from Nihms");
String content = getHtmlText(receivedMessage);
String cleansedContent = StringUtils.normalizeSpace(content);
LOG.warn("Nihms Email content:" + cleansedContent);
LOG.warn("Nihms Email content: {}", content);
if (Objects.isNull(content)) {
LOG.error("No HTML content found in nihms email: " + receivedMessage.getSubject());
return;
}
Elements messageElements = getMessageElements(cleansedContent);
Elements messageElements = getMessageElements(content);
if (messageElements.isEmpty()) {
LOG.error("No messages found in nihms email: " + cleansedContent);
LOG.error("No messages found in nihms email: {}", content);
return;
}
processMessages(messageElements);
Expand Down

0 comments on commit c166198

Please sign in to comment.