azkaban-aplcache
Changes
src/main/java/azkaban/utils/Emailer.java 13(+10 -3)
Details
diff --git a/src/main/java/azkaban/executor/mail/DefaultMailCreator.java b/src/main/java/azkaban/executor/mail/DefaultMailCreator.java
index 62e8eac..47e2ac9 100644
--- a/src/main/java/azkaban/executor/mail/DefaultMailCreator.java
+++ b/src/main/java/azkaban/executor/mail/DefaultMailCreator.java
@@ -51,8 +51,8 @@ public class DefaultMailCreator implements MailCreator {
@Override
public boolean createFirstErrorMessage(ExecutableFlow flow,
- EmailMessage message, String azkabanName, String clientHostname,
- String clientPortNumber, String... vars) {
+ EmailMessage message, String azkabanName, String scheme,
+ String clientHostname, String clientPortNumber, String... vars) {
ExecutionOptions option = flow.getExecutionOptions();
List<String> emailList = option.getFailureEmails();
@@ -90,9 +90,9 @@ public class DefaultMailCreator implements MailCreator {
message.println("</table>");
message.println("");
String executionUrl =
- "https://" + clientHostname + ":" + clientPortNumber + "/"
+ scheme + "://" + clientHostname + ":" + clientPortNumber + "/"
+ "executor?" + "execid=" + execId;
- message.println("<a href='\"" + executionUrl + "\">" + flow.getFlowId()
+ message.println("<a href=\"" + executionUrl + "\">" + flow.getFlowId()
+ " Execution Link</a>");
message.println("");
@@ -113,8 +113,8 @@ public class DefaultMailCreator implements MailCreator {
@Override
public boolean createErrorEmail(ExecutableFlow flow, EmailMessage message,
- String azkabanName, String clientHostname, String clientPortNumber,
- String... vars) {
+ String azkabanName, String scheme, String clientHostname,
+ String clientPortNumber, String... vars) {
ExecutionOptions option = flow.getExecutionOptions();
@@ -141,9 +141,9 @@ public class DefaultMailCreator implements MailCreator {
message.println("</table>");
message.println("");
String executionUrl =
- "https://" + clientHostname + ":" + clientPortNumber + "/"
+ scheme + "://" + clientHostname + ":" + clientPortNumber + "/"
+ "executor?" + "execid=" + execId;
- message.println("<a href='\"" + executionUrl + "\">" + flow.getFlowId()
+ message.println("<a href=\"" + executionUrl + "\">" + flow.getFlowId()
+ " Execution Link</a>");
message.println("");
@@ -166,8 +166,8 @@ public class DefaultMailCreator implements MailCreator {
@Override
public boolean createSuccessEmail(ExecutableFlow flow, EmailMessage message,
- String azkabanName, String clientHostname, String clientPortNumber,
- String... vars) {
+ String azkabanName, String scheme, String clientHostname,
+ String clientPortNumber, String... vars) {
ExecutionOptions option = flow.getExecutionOptions();
List<String> emailList = option.getSuccessEmails();
@@ -194,7 +194,7 @@ public class DefaultMailCreator implements MailCreator {
message.println("</table>");
message.println("");
String executionUrl =
- "https://" + clientHostname + ":" + clientPortNumber + "/"
+ scheme + "://" + clientHostname + ":" + clientPortNumber + "/"
+ "executor?" + "execid=" + execId;
message.println("<a href=\"" + executionUrl + "\">" + flow.getFlowId()
+ " Execution Link</a>");
diff --git a/src/main/java/azkaban/executor/mail/MailCreator.java b/src/main/java/azkaban/executor/mail/MailCreator.java
index f0f16a5..13f0185 100644
--- a/src/main/java/azkaban/executor/mail/MailCreator.java
+++ b/src/main/java/azkaban/executor/mail/MailCreator.java
@@ -21,14 +21,14 @@ import azkaban.utils.EmailMessage;
public interface MailCreator {
public boolean createFirstErrorMessage(ExecutableFlow flow,
- EmailMessage message, String azkabanName, String clientHostname,
- String clientPortNumber, String... vars);
+ EmailMessage message, String azkabanName, String scheme,
+ String clientHostname, String clientPortNumber, String... vars);
public boolean createErrorEmail(ExecutableFlow flow, EmailMessage message,
- String azkabanName, String clientHostname, String clientPortNumber,
- String... vars);
+ String azkabanName, String scheme, String clientHostname,
+ String clientPortNumber, String... vars);
public boolean createSuccessEmail(ExecutableFlow flow, EmailMessage message,
- String azkabanName, String clientHostname, String clientPortNumber,
- String... vars);
+ String azkabanName, String scheme, String clientHostname,
+ String clientPortNumber, String... vars);
}
src/main/java/azkaban/utils/Emailer.java 13(+10 -3)
diff --git a/src/main/java/azkaban/utils/Emailer.java b/src/main/java/azkaban/utils/Emailer.java
index 9d08163..cdf44e4 100644
--- a/src/main/java/azkaban/utils/Emailer.java
+++ b/src/main/java/azkaban/utils/Emailer.java
@@ -38,8 +38,13 @@ import azkaban.utils.Props;
public class Emailer extends AbstractMailer implements Alerter {
private static Logger logger = Logger.getLogger(Emailer.class);
+ private static final String HTTPS = "https";
+
+ private static final String HTTP = "http";
+
private boolean testMode = false;
+ private String scheme;
private String clientHostname;
private String clientPortNumber;
@@ -66,8 +71,10 @@ public class Emailer extends AbstractMailer implements Alerter {
this.clientHostname = props.getString("jetty.hostname", "localhost");
if (props.getBoolean("jetty.use.ssl", true)) {
+ this.scheme = HTTPS;
this.clientPortNumber = props.getString("jetty.ssl.port");
} else {
+ this.scheme = HTTP;
this.clientPortNumber = props.getString("jetty.port");
}
@@ -109,7 +116,7 @@ public class Emailer extends AbstractMailer implements Alerter {
+ mailCreator.getClass().getCanonicalName());
boolean mailCreated =
- mailCreator.createFirstErrorMessage(flow, message, azkabanName,
+ mailCreator.createFirstErrorMessage(flow, message, azkabanName, scheme,
clientHostname, clientPortNumber);
if (mailCreated && !testMode) {
@@ -133,7 +140,7 @@ public class Emailer extends AbstractMailer implements Alerter {
+ mailCreator.getClass().getCanonicalName());
boolean mailCreated =
- mailCreator.createErrorEmail(flow, message, azkabanName,
+ mailCreator.createErrorEmail(flow, message, azkabanName, scheme,
clientHostname, clientPortNumber, extraReasons);
if (mailCreated && !testMode) {
@@ -157,7 +164,7 @@ public class Emailer extends AbstractMailer implements Alerter {
+ mailCreator.getClass().getCanonicalName());
boolean mailCreated =
- mailCreator.createSuccessEmail(flow, message, azkabanName,
+ mailCreator.createSuccessEmail(flow, message, azkabanName, scheme,
clientHostname, clientPortNumber);
if (mailCreated && !testMode) {