ContentWithAttachmentsHandler.java

1
package fr.sii.ogham.email.sender.impl.javamail;
2
3
import javax.mail.MessagingException;
4
import javax.mail.Multipart;
5
import javax.mail.internet.MimeBodyPart;
6
import javax.mail.internet.MimeMultipart;
7
import javax.mail.internet.MimePart;
8
9
import org.slf4j.Logger;
10
import org.slf4j.LoggerFactory;
11
12
import fr.sii.ogham.core.message.content.Content;
13
import fr.sii.ogham.email.attachment.Attachment;
14
import fr.sii.ogham.email.exception.handler.AttachmentResourceHandlerException;
15
import fr.sii.ogham.email.exception.handler.ContentHandlerException;
16
import fr.sii.ogham.email.message.Email;
17
import fr.sii.ogham.email.message.content.ContentWithAttachments;
18
19
public class ContentWithAttachmentsHandler implements JavaMailContentHandler {
20
	private static final Logger LOG = LoggerFactory.getLogger(ContentWithAttachmentsHandler.class);
21
	
22
	/**
23
	 * The content handler used for sub content
24
	 */
25
	private final JavaMailContentHandler delegate;
26
	
27
	/**
28
	 * The attachment handler
29
	 */
30
	private final JavaMailAttachmentHandler attachmentHandler;
31
32
	public ContentWithAttachmentsHandler(JavaMailContentHandler delegate, JavaMailAttachmentHandler attachmentHandler) {
33
		super();
34
		this.delegate = delegate;
35
		this.attachmentHandler = attachmentHandler;
36
	}
37
38
	@Override
39
	public void setContent(MimePart message, Multipart multipart, Email email, Content content) throws ContentHandlerException {
40
		try {
41
			MimeMultipart mp = new MimeMultipart("related");
42
			ContentWithAttachments cwa = (ContentWithAttachments) content;
43 2 1. setContent : removed call to fr/sii/ogham/email/sender/impl/javamail/JavaMailContentHandler::setContent → NO_COVERAGE
2. setContent : removed call to fr/sii/ogham/email/sender/impl/javamail/JavaMailContentHandler::setContent → KILLED
			delegate.setContent(message, mp, email, cwa.getContent());
44
			for(Attachment attachment : cwa.getAttachments()) {
45
				LOG.debug("Attaching {} to email", attachment);
46 2 1. setContent : removed call to fr/sii/ogham/email/sender/impl/javamail/JavaMailAttachmentHandler::addAttachment → NO_COVERAGE
2. setContent : removed call to fr/sii/ogham/email/sender/impl/javamail/JavaMailAttachmentHandler::addAttachment → KILLED
				attachmentHandler.addAttachment(mp, attachment);
47
			}
48
			// add the part
49
			MimeBodyPart part = new MimeBodyPart();
50 2 1. setContent : removed call to javax/mail/internet/MimeBodyPart::setContent → NO_COVERAGE
2. setContent : removed call to javax/mail/internet/MimeBodyPart::setContent → KILLED
			part.setContent(mp);
51 2 1. setContent : removed call to javax/mail/Multipart::addBodyPart → NO_COVERAGE
2. setContent : removed call to javax/mail/Multipart::addBodyPart → KILLED
			multipart.addBodyPart(part);
52
		} catch (MessagingException e) {
53
			throw new ContentHandlerException("Failed to generate related content", content, e);
54
		} catch(AttachmentResourceHandlerException e) {
55
			throw new ContentHandlerException("Failed to set email content", content, e);
56
		}
57
	}
58
59
}

Mutations

43

1.1
Location : setContent
Killed by : none
removed call to fr/sii/ogham/email/sender/impl/javamail/JavaMailContentHandler::setContent → NO_COVERAGE

2.2
Location : setContent
Killed by : oghamall.it.resolver.FreemarkerRelativeResourcesTests.relativeToPrefixSuffixAndPath(oghamall.it.resolver.FreemarkerRelativeResourcesTests)
removed call to fr/sii/ogham/email/sender/impl/javamail/JavaMailContentHandler::setContent → KILLED

46

1.1
Location : setContent
Killed by : oghamall.it.resolver.FreemarkerRelativeResourcesTests.relativeToPrefixSuffixAndPath(oghamall.it.resolver.FreemarkerRelativeResourcesTests)
removed call to fr/sii/ogham/email/sender/impl/javamail/JavaMailAttachmentHandler::addAttachment → KILLED

2.2
Location : setContent
Killed by : none
removed call to fr/sii/ogham/email/sender/impl/javamail/JavaMailAttachmentHandler::addAttachment → NO_COVERAGE

50

1.1
Location : setContent
Killed by : none
removed call to javax/mail/internet/MimeBodyPart::setContent → NO_COVERAGE

2.2
Location : setContent
Killed by : oghamall.it.resolver.FreemarkerRelativeResourcesTests.relativeToPrefixSuffixAndPath(oghamall.it.resolver.FreemarkerRelativeResourcesTests)
removed call to javax/mail/internet/MimeBodyPart::setContent → KILLED

51

1.1
Location : setContent
Killed by : none
removed call to javax/mail/Multipart::addBodyPart → NO_COVERAGE

2.2
Location : setContent
Killed by : oghamall.it.resolver.FreemarkerRelativeResourcesTests.relativeToPrefixSuffixAndPath(oghamall.it.resolver.FreemarkerRelativeResourcesTests)
removed call to javax/mail/Multipart::addBodyPart → KILLED

Active mutators

Tests examined


Report generated by PIT OGHAM