From 41d15404138149aa8d33ce790b2682eb9da59ddb Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Tue, 24 Jun 2014 01:24:24 +0200 Subject: [PATCH] Factor Out sendmail (Abstraction for Email provider) --- .../cacert/gigi/{util => email}/EmailChecker.java | 2 +- src/org/cacert/gigi/email/EmailProvider.java | 13 +++++++++++++ src/org/cacert/gigi/{util => email}/Sendmail.java | 4 ++-- src/org/cacert/gigi/pages/main/Signup.java | 6 +++--- 4 files changed, 19 insertions(+), 6 deletions(-) rename src/org/cacert/gigi/{util => email}/EmailChecker.java (99%) create mode 100644 src/org/cacert/gigi/email/EmailProvider.java rename src/org/cacert/gigi/{util => email}/Sendmail.java (98%) diff --git a/src/org/cacert/gigi/util/EmailChecker.java b/src/org/cacert/gigi/email/EmailChecker.java similarity index 99% rename from src/org/cacert/gigi/util/EmailChecker.java rename to src/org/cacert/gigi/email/EmailChecker.java index f1e8c367..7e18f68b 100644 --- a/src/org/cacert/gigi/util/EmailChecker.java +++ b/src/org/cacert/gigi/email/EmailChecker.java @@ -1,4 +1,4 @@ -package org.cacert.gigi.util; +package org.cacert.gigi.email; import java.io.BufferedReader; import java.io.IOException; diff --git a/src/org/cacert/gigi/email/EmailProvider.java b/src/org/cacert/gigi/email/EmailProvider.java new file mode 100644 index 00000000..1f232490 --- /dev/null +++ b/src/org/cacert/gigi/email/EmailProvider.java @@ -0,0 +1,13 @@ +package org.cacert.gigi.email; + +import java.io.IOException; + +public abstract class EmailProvider { + public abstract void sendmail(String to, String subject, String message, + String from, String replyto, String toname, String fromname, + String errorsto, boolean extra) throws IOException; + private static EmailProvider instance; + public static EmailProvider getInstance() { + return instance; + } +} diff --git a/src/org/cacert/gigi/util/Sendmail.java b/src/org/cacert/gigi/email/Sendmail.java similarity index 98% rename from src/org/cacert/gigi/util/Sendmail.java rename to src/org/cacert/gigi/email/Sendmail.java index 3333a11a..f709169e 100644 --- a/src/org/cacert/gigi/util/Sendmail.java +++ b/src/org/cacert/gigi/email/Sendmail.java @@ -1,4 +1,4 @@ -package org.cacert.gigi.util; +package org.cacert.gigi.email; import java.io.BufferedReader; import java.io.IOException; @@ -11,7 +11,7 @@ import java.util.Date; import java.util.Locale; import java.util.regex.Pattern; -public class Sendmail { +class Sendmail { private Sendmail() { } private static final Pattern NON_ASCII = Pattern diff --git a/src/org/cacert/gigi/pages/main/Signup.java b/src/org/cacert/gigi/pages/main/Signup.java index f4ba0c1b..58203edf 100644 --- a/src/org/cacert/gigi/pages/main/Signup.java +++ b/src/org/cacert/gigi/pages/main/Signup.java @@ -16,15 +16,15 @@ import javax.servlet.http.HttpServletRequest; import org.cacert.gigi.Language; import org.cacert.gigi.User; import org.cacert.gigi.database.DatabaseConnection; +import org.cacert.gigi.email.EmailChecker; +import org.cacert.gigi.email.EmailProvider; import org.cacert.gigi.output.DateSelector; import org.cacert.gigi.output.Template; import org.cacert.gigi.pages.Page; -import org.cacert.gigi.util.EmailChecker; import org.cacert.gigi.util.HTMLEncoder; import org.cacert.gigi.util.Notary; import org.cacert.gigi.util.PasswordStrengthChecker; import org.cacert.gigi.util.RandomToken; -import org.cacert.gigi.util.Sendmail; import org.cacert.gigi.util.ServerConstants; public class Signup { @@ -265,7 +265,7 @@ public class Signup { body.append("\n"); body.append(Page.translate(req, "CAcert.org Support!")); try { - Sendmail.sendmail(buildup.getEmail(), + EmailProvider.getInstance().sendmail(buildup.getEmail(), "[CAcert.org] " + Page.translate(req, "Mail Probe"), body.toString(), "support@cacert.org", null, null, null, null, false); -- 2.39.2