SLING-8920 Provide a simple API and implementation to build and send mails
Do not return sent message as result
diff --git a/src/main/java/org/apache/sling/commons/messaging/mail/MailService.java b/src/main/java/org/apache/sling/commons/messaging/mail/MailService.java
index 258b619..f203d8d 100644
--- a/src/main/java/org/apache/sling/commons/messaging/mail/MailService.java
+++ b/src/main/java/org/apache/sling/commons/messaging/mail/MailService.java
@@ -27,10 +27,10 @@
import org.osgi.annotation.versioning.ProviderType;
@ProviderType
-public interface MailService extends MessageService<MimeMessage> {
+public interface MailService extends MessageService<MimeMessage, Void> {
@NotNull MessageBuilder getMessageBuilder();
- @NotNull CompletableFuture<MimeMessage> sendMessage(@NotNull final MimeMessage message);
+ @NotNull CompletableFuture<Void> sendMessage(@NotNull final MimeMessage message);
}
diff --git a/src/main/java/org/apache/sling/commons/messaging/mail/internal/SimpleMailService.java b/src/main/java/org/apache/sling/commons/messaging/mail/internal/SimpleMailService.java
index 3c2c87d..bc459f1 100644
--- a/src/main/java/org/apache/sling/commons/messaging/mail/internal/SimpleMailService.java
+++ b/src/main/java/org/apache/sling/commons/messaging/mail/internal/SimpleMailService.java
@@ -165,11 +165,11 @@
}
@Override
- public @NotNull CompletableFuture<MimeMessage> sendMessage(@NotNull final MimeMessage message) {
- return CompletableFuture.supplyAsync(() -> send(message), runnable -> threadPool.submit(runnable));
+ public @NotNull CompletableFuture<Void> sendMessage(@NotNull final MimeMessage message) {
+ return CompletableFuture.runAsync(() -> send(message), runnable -> threadPool.submit(runnable));
}
- private @NotNull MimeMessage send(@NotNull final MimeMessage message) {
+ private void send(@NotNull final MimeMessage message) {
try {
final ClassLoader tccl = Thread.currentThread().getContextClassLoader();
Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
@@ -188,7 +188,6 @@
}
logger.debug("sending message '{}'", message.getMessageID());
transport.sendMessage(message, message.getAllRecipients());
- return message;
} finally {
Thread.currentThread().setContextClassLoader(tccl);
}
diff --git a/src/test/java/org/apache/sling/commons/messaging/mail/it/tests/SimpleMailServiceIT.java b/src/test/java/org/apache/sling/commons/messaging/mail/it/tests/SimpleMailServiceIT.java
index 8eeb27d..2aeab8c 100644
--- a/src/test/java/org/apache/sling/commons/messaging/mail/it/tests/SimpleMailServiceIT.java
+++ b/src/test/java/org/apache/sling/commons/messaging/mail/it/tests/SimpleMailServiceIT.java
@@ -106,7 +106,7 @@
private GreenMail greenMail;
@Inject
- protected MessageService<MimeMessage> messageService;
+ protected MessageService<MimeMessage, Void> messageService;
@Inject
@Filter(value = "(protocol=SMTPS)")
@@ -200,7 +200,7 @@
final Properties properties = new Properties();
final Session session = Session.getDefaultInstance(properties);
final MimeMessage message = new MimeMessage(session);
- final CompletableFuture<MimeMessage> future = messageService.sendMessage(message);
+ final CompletableFuture<Void> future = messageService.sendMessage(message);
future.get();
}
@@ -219,7 +219,7 @@
.text(text)
.build();
- final CompletableFuture<MimeMessage> future = mailService.sendMessage(message);
+ final CompletableFuture<Void> future = mailService.sendMessage(message);
future.get();
if (local) {
@@ -254,7 +254,7 @@
.attachment(support, "image/png", "SupportApache-small.png")
.build();
- final CompletableFuture<MimeMessage> future = mailService.sendMessage(message);
+ final CompletableFuture<Void> future = mailService.sendMessage(message);
future.get();
if (local) {
@@ -286,7 +286,7 @@
.html(html)
.build();
- final CompletableFuture<MimeMessage> future = mailService.sendMessage(message);
+ final CompletableFuture<Void> future = mailService.sendMessage(message);
future.get();
if (local) {
@@ -320,7 +320,7 @@
.attachment(support, "image/png", "SupportApache-small.png")
.build();
- final CompletableFuture<MimeMessage> future = mailService.sendMessage(message);
+ final CompletableFuture<Void> future = mailService.sendMessage(message);
future.get();
if (local) {
@@ -356,7 +356,7 @@
.inline(sling, "image/png", "sling")
.build();
- final CompletableFuture<MimeMessage> future = mailService.sendMessage(message);
+ final CompletableFuture<Void> future = mailService.sendMessage(message);
future.get();
if (local) {
@@ -393,7 +393,7 @@
.inline(sling, "image/png", "sling")
.build();
- final CompletableFuture<MimeMessage> future = mailService.sendMessage(message);
+ final CompletableFuture<Void> future = mailService.sendMessage(message);
future.get();
if (local) {
@@ -436,7 +436,7 @@
.text("Testing Connection and Transport Listeners")
.build();
- final CompletableFuture<MimeMessage> future = mailService.sendMessage(message);
+ final CompletableFuture<Void> future = mailService.sendMessage(message);
future.get();
assertThat(unusedCLSR.getReference().getUsingBundles()).isNull();