Details
diff --git a/azkaban-common/src/main/java/azkaban/user/XmlUserManager.java b/azkaban-common/src/main/java/azkaban/user/XmlUserManager.java
index 007865d..f0da460 100644
--- a/azkaban-common/src/main/java/azkaban/user/XmlUserManager.java
+++ b/azkaban-common/src/main/java/azkaban/user/XmlUserManager.java
@@ -60,6 +60,7 @@ public class XmlUserManager implements UserManager {
private static final Logger logger = Logger.getLogger(XmlUserManager.class
.getName());
private final String xmlPath;
+ private final String passwordErrorMessage;
private HashMap<String, User> users;
private HashMap<String, String> userPassword;
@@ -72,7 +73,7 @@ public class XmlUserManager implements UserManager {
*/
public XmlUserManager(final Props props) {
this.xmlPath = props.getString(XML_FILE_PARAM);
-
+ this.passwordErrorMessage = props.getString("azkaban.error.password.message", "Username/password not found.");
parseXMLFile();
}
@@ -260,7 +261,7 @@ public class XmlUserManager implements UserManager {
}
if (foundPassword == null || !foundPassword.equals(password)) {
- throw new UserManagerException("Username/Password not found.");
+ throw new UserManagerException(this.passwordErrorMessage);
}
// Once it gets to this point, no exception has been thrown. User
// shoudn't be
diff --git a/azkaban-web-server/src/main/java/azkaban/webapp/servlet/AbstractAzkabanServlet.java b/azkaban-web-server/src/main/java/azkaban/webapp/servlet/AbstractAzkabanServlet.java
index 190ba1d..807ee0e 100644
--- a/azkaban-web-server/src/main/java/azkaban/webapp/servlet/AbstractAzkabanServlet.java
+++ b/azkaban-web-server/src/main/java/azkaban/webapp/servlet/AbstractAzkabanServlet.java
@@ -58,6 +58,8 @@ public abstract class AbstractAzkabanServlet extends HttpServlet {
private static final String AZKABAN_FAILURE_MESSAGE =
"azkaban.failure.message";
private static final long serialVersionUID = -1;
+
+ protected String passwordPlaceholder;
private AzkabanServer application;
private String name;
private String label;
@@ -103,6 +105,7 @@ public abstract class AbstractAzkabanServlet extends HttpServlet {
this.name = props.getString("azkaban.name", "");
this.label = props.getString("azkaban.label", "");
this.color = props.getString("azkaban.color", "#FF0000");
+ this.passwordPlaceholder = props.getString("azkaban.password.placeholder", "Password");
if (this.application instanceof AzkabanWebServer) {
final AzkabanWebServer server = (AzkabanWebServer) this.application;
diff --git a/azkaban-web-server/src/main/java/azkaban/webapp/servlet/LoginAbstractAzkabanServlet.java b/azkaban-web-server/src/main/java/azkaban/webapp/servlet/LoginAbstractAzkabanServlet.java
index 8f07fab..6aa3723 100644
--- a/azkaban-web-server/src/main/java/azkaban/webapp/servlet/LoginAbstractAzkabanServlet.java
+++ b/azkaban-web-server/src/main/java/azkaban/webapp/servlet/LoginAbstractAzkabanServlet.java
@@ -264,6 +264,7 @@ public abstract class LoginAbstractAzkabanServlet extends
private void handleLogin(final HttpServletRequest req, final HttpServletResponse resp,
final String errorMsg) throws ServletException, IOException {
final Page page = newPage(req, resp, "azkaban/webapp/servlet/velocity/login.vm");
+ page.add("passwordPlaceholder", this.passwordPlaceholder);
if (errorMsg != null) {
page.add("errorMsg", errorMsg);
}
diff --git a/azkaban-web-server/src/main/resources/azkaban/webapp/servlet/velocity/login.vm b/azkaban-web-server/src/main/resources/azkaban/webapp/servlet/velocity/login.vm
index b0b47dc..36bc31b 100644
--- a/azkaban-web-server/src/main/resources/azkaban/webapp/servlet/velocity/login.vm
+++ b/azkaban-web-server/src/main/resources/azkaban/webapp/servlet/velocity/login.vm
@@ -40,7 +40,7 @@
<fieldset>
<legend>Login</legend>
<input type="text" class="form-control" name="username" id="username" placeholder="Username">
- <input type="password" class="form-control" name="password" id="password" placeholder="Password">
+ <input type="password" class="form-control" name="password" id="password" placeholder="${passwordPlaceholder}">
<button type="button" class="btn btn-primary btn-lg btn-block" id="login-submit">Login</button>
</fieldset>
</form>