From ad392eb5da973bdf8d178aa02aa98db29352d83f Mon Sep 17 00:00:00 2001 From: Yurii Dubinka Date: Sun, 14 Apr 2019 20:34:15 +0530 Subject: [PATCH] #43: Add 'Properties' ctors for Inbox/Outbox --- .gitignore | 3 ++- .../github/dgroup/mbox4j/inbox/javax/JavaxMailInbox.java | 8 ++++++++ .../io/github/dgroup/mbox4j/outbox/javax/Addresses.java | 2 ++ .../dgroup/mbox4j/outbox/javax/JavaxMailOutbox.java | 8 ++++++++ src/main/java/io/github/dgroup/mbox4j/package-info.java | 2 ++ .../java/io/github/dgroup/mbox4j/GmailSmtpProperties.java | 3 +++ 6 files changed, 25 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index f3eaaf6..eebd68e 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ *.iws *.class /.idea/ -/.tmp/ \ No newline at end of file +/.tmp/ +*.sh \ No newline at end of file diff --git a/src/main/java/io/github/dgroup/mbox4j/inbox/javax/JavaxMailInbox.java b/src/main/java/io/github/dgroup/mbox4j/inbox/javax/JavaxMailInbox.java index e3230f8..7fbd5f7 100644 --- a/src/main/java/io/github/dgroup/mbox4j/inbox/javax/JavaxMailInbox.java +++ b/src/main/java/io/github/dgroup/mbox4j/inbox/javax/JavaxMailInbox.java @@ -57,6 +57,14 @@ public final class JavaxMailInbox implements Inbox { */ private final Modes modes; + /** + * Ctor. + * @param props The mail server connection properties. + */ + public JavaxMailInbox(final Properties props) { + this(() -> props); + } + /** * Ctor. * @param props The mail server connection properties. diff --git a/src/main/java/io/github/dgroup/mbox4j/outbox/javax/Addresses.java b/src/main/java/io/github/dgroup/mbox4j/outbox/javax/Addresses.java index c6fcfca..ba9db25 100644 --- a/src/main/java/io/github/dgroup/mbox4j/outbox/javax/Addresses.java +++ b/src/main/java/io/github/dgroup/mbox4j/outbox/javax/Addresses.java @@ -37,6 +37,8 @@ * objects in accordance with RFC822 syntax. * * @since 0.1.0 + * @todo #/DEV Change the email to LowLevel case in order to prevent duplication of emails + * due to different case. */ public final class Addresses implements Scalar { diff --git a/src/main/java/io/github/dgroup/mbox4j/outbox/javax/JavaxMailOutbox.java b/src/main/java/io/github/dgroup/mbox4j/outbox/javax/JavaxMailOutbox.java index 0b5d836..f286765 100644 --- a/src/main/java/io/github/dgroup/mbox4j/outbox/javax/JavaxMailOutbox.java +++ b/src/main/java/io/github/dgroup/mbox4j/outbox/javax/JavaxMailOutbox.java @@ -52,6 +52,14 @@ public class JavaxMailOutbox implements Outbox { */ private final Scalar session; + /** + * Ctor. + * @param props The postman configuration properties. + */ + public JavaxMailOutbox(final Properties props) { + this(() -> props); + } + /** * Ctor. * @param props The postman configuration properties. diff --git a/src/main/java/io/github/dgroup/mbox4j/package-info.java b/src/main/java/io/github/dgroup/mbox4j/package-info.java index 7527eb7..a7f13ee 100644 --- a/src/main/java/io/github/dgroup/mbox4j/package-info.java +++ b/src/main/java/io/github/dgroup/mbox4j/package-info.java @@ -26,5 +26,7 @@ * The postman(s) for email sending. * * @since 0.1.0 + * @todo #/DEV Add instructions to readme.md regarding javax.mail + * dependency (or other libs) in order to avoid java.lang.NoClassDefFoundError. */ package io.github.dgroup.mbox4j; diff --git a/src/test/java/io/github/dgroup/mbox4j/GmailSmtpProperties.java b/src/test/java/io/github/dgroup/mbox4j/GmailSmtpProperties.java index 211d9c7..0655b7a 100644 --- a/src/test/java/io/github/dgroup/mbox4j/GmailSmtpProperties.java +++ b/src/test/java/io/github/dgroup/mbox4j/GmailSmtpProperties.java @@ -33,6 +33,9 @@ * Gmail incoming/outgoing SMTP server properties. * * @since 0.1.0 + * @todo #/DEV Move the smtp properties to the src/main/java module + * as it can be used for other repositories. + * The new package is io.github.dgroup.mbox4j.properties. */ public final class GmailSmtpProperties implements Scalar {