azkaban-memoizeit
Changes
.classpath 1(+1 -0)
lib/velocity-tools-2.0.jar 0(+0 -0)
src/java/azkaban/utils/Utils.java 2(+1 -1)
Details
.classpath 1(+1 -0)
diff --git a/.classpath b/.classpath
index c81935d..f3617fb 100644
--- a/.classpath
+++ b/.classpath
@@ -17,6 +17,7 @@
<classpathentry kind="lib" path="lib/slf4j-api-1.6.1.jar"/>
<classpathentry kind="lib" path="lib/slf4j-log4j12-1.6.4.jar"/>
<classpathentry kind="lib" path="lib/velocity-1.7.jar"/>
+ <classpathentry kind="lib" path="lib/velocity-tools-2.0.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="lib" path="lib/httpclient-4.2.1.jar"/>
<classpathentry kind="lib" path="lib/commons-io-2.4.jar"/>
lib/velocity-tools-2.0.jar 0(+0 -0)
diff --git a/lib/velocity-tools-2.0.jar b/lib/velocity-tools-2.0.jar
new file mode 100644
index 0000000..beb7434
Binary files /dev/null and b/lib/velocity-tools-2.0.jar differ
diff --git a/src/java/azkaban/user/XmlUserManager.java b/src/java/azkaban/user/XmlUserManager.java
index 5b94cdd..7bcfe26 100644
--- a/src/java/azkaban/user/XmlUserManager.java
+++ b/src/java/azkaban/user/XmlUserManager.java
@@ -56,6 +56,7 @@ public class XmlUserManager implements UserManager {
public static final String ROLEPERMISSIONS_ATTR = "permissions";
public static final String USERNAME_ATTR = "username";
public static final String PASSWORD_ATTR = "password";
+ public static final String EMAIL_ATTR = "email";
public static final String ROLES_ATTR = "roles";
public static final String PROXY_ATTR = "proxy";
public static final String GROUPS_ATTR = "groups";
@@ -150,6 +151,7 @@ public class XmlUserManager implements UserManager {
if (userNameAttr == null) {
throw new RuntimeException("Error loading user. The '" + USERNAME_ATTR + "' attribute doesn't exist");
}
+
Node passwordAttr = userAttrMap.getNamedItem(PASSWORD_ATTR);
if (passwordAttr == null) {
throw new RuntimeException("Error loading user. The '" + PASSWORD_ATTR + "' attribute doesn't exist");
@@ -196,6 +198,11 @@ public class XmlUserManager implements UserManager {
user.addGroup(group);
}
}
+
+ Node emailAttr = userAttrMap.getNamedItem(EMAIL_ATTR);
+ if (emailAttr != null) {
+ user.setEmail(emailAttr.getNodeValue());
+ }
}
private void parseRoleTag(Node node, HashMap<String, Role> roles) {
@@ -208,7 +215,7 @@ public class XmlUserManager implements UserManager {
Node permissionAttr = roleAttrMap.getNamedItem(ROLEPERMISSIONS_ATTR);
if (permissionAttr == null) {
throw new RuntimeException(
- "Error loading user. The password doesn't exist for "+ permissionAttr);
+ "Error loading role. The role 'permissions' attribute doesn't exist");
}
String roleName = roleNameAttr.getNodeValue();
src/java/azkaban/utils/Utils.java 2(+1 -1)
diff --git a/src/java/azkaban/utils/Utils.java b/src/java/azkaban/utils/Utils.java
index 257508a..44edfaa 100644
--- a/src/java/azkaban/utils/Utils.java
+++ b/src/java/azkaban/utils/Utils.java
@@ -322,7 +322,7 @@ public class Utils {
public static ReadablePeriod parsePeriodString(String periodStr) {
ReadablePeriod period;
char periodUnit = periodStr.charAt(periodStr.length() - 1);
- if (periodUnit == 'n') {
+ if (periodStr.equals("null") || periodUnit == 'n') {
return null;
}