azkaban-aplcache

Details

build.gradle 2(+1 -1)

diff --git a/build.gradle b/build.gradle
index 9681ba7..fe5400e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -54,6 +54,7 @@ dependencies {
   compile (
     [group: 'commons-collections', name:'commons-collections', version: '3.2.1'],
     [group: 'commons-configuration', name:'commons-configuration', version: '1.8'],
+    [group: 'commons-codec', name:'commons-codec', version: '1.9'],
     [group: 'commons-dbcp', name:'commons-dbcp', version: '1.4'],
     [group: 'commons-dbutils', name:'commons-dbutils', version: '1.5'],
     [group: 'org.apache.commons', name:'commons-email', version: '1.2'],
@@ -69,7 +70,6 @@ dependencies {
     [group: 'org.apache.httpcomponents', name:'httpcore', version: '4.2.1'],
     [group: 'org.codehaus.jackson', name:'jackson-core-asl', version: '1.9.5'],
     [group: 'org.codehaus.jackson', name:'jackson-mapper-asl',version: '1.9.5'],
-    [group: 'org.codehaus.jackson', name:'jackson-core-asl', version: '1.9.5'],
     [group: 'org.mortbay.jetty', name:'jetty', version: '6.1.26'],
     [group: 'org.mortbay.jetty', name:'jetty-util', version: '6.1.26'],
     [group: 'joda-time', name:'joda-time', version: '2.0'],
diff --git a/src/main/java/azkaban/user/UserManager.java b/src/main/java/azkaban/user/UserManager.java
index 071b307..253e817 100644
--- a/src/main/java/azkaban/user/UserManager.java
+++ b/src/main/java/azkaban/user/UserManager.java
@@ -34,7 +34,7 @@ public interface UserManager {
 	 * @throws UserManagerException If the username/password combination doesn't exist.
 	 */
 	public User getUser(String username, String password) throws UserManagerException;
-	
+
 	/**
 	 * Returns true if the user is valid. This is used when adding permissions for users
 	 * 
diff --git a/src/restli/java/azkaban/restli/ProjectManagerResource.java b/src/restli/java/azkaban/restli/ProjectManagerResource.java
index 7c862d8..6a93395 100644
--- a/src/restli/java/azkaban/restli/ProjectManagerResource.java
+++ b/src/restli/java/azkaban/restli/ProjectManagerResource.java
@@ -40,13 +40,13 @@ public class ProjectManagerResource extends ResourceContextHolder {
 	
 	@Action(name = "deploy")
 	public String deploy(
-			@ActionParam("session.id") String sessionId,
-			@ActionParam("project.name") String projectName,
-			@ActionParam("package.url") String packageUrl)
+			@ActionParam("sessionId") String sessionId,
+			@ActionParam("projectName") String projectName,
+			@ActionParam("packageUrl") String packageUrl)
 			throws ProjectManagerException, UserManagerException, ServletException, IOException {
-		logger.info("Deploy called. {session.id: " + sessionId +
-				", project.name: " + projectName + 
-				", package.url:" + packageUrl + "}");
+		logger.info("Deploy called. {sessionId: " + sessionId +
+				", projectName: " + projectName + 
+				", packageUrl:" + packageUrl + "}");
 		
 		User user = ResourceUtils.getUserFromSessionId(sessionId);
 		ProjectManager projectManager = getAzkaban().getProjectManager();
diff --git a/src/restli/java/azkaban/restli/ResourceUtils.java b/src/restli/java/azkaban/restli/ResourceUtils.java
index 1a8e340..609f5cb 100644
--- a/src/restli/java/azkaban/restli/ResourceUtils.java
+++ b/src/restli/java/azkaban/restli/ResourceUtils.java
@@ -10,6 +10,7 @@ import azkaban.webapp.AzkabanWebServer;
 import azkaban.webapp.session.Session;
 
 public class ResourceUtils {
+	
 	public static boolean hasPermission(Project project, User user, Permission.Type type) {
 		UserManager userManager = AzkabanWebServer.getInstance().getUserManager();
 		if (project.hasPermission(user, type)) {
@@ -19,7 +20,7 @@ public class ResourceUtils {
 		for (String roleName: user.getRoles()) {
 			Role role = userManager.getRole(roleName);
 			if (role.getPermission().isPermissionSet(type) || 
-					role.getPermission().isPermissionSet(Permission.Type.ADMIN)) {
+				role.getPermission().isPermissionSet(Permission.Type.ADMIN)) {
 				return true;
 			}
 		}
diff --git a/src/restli/java/azkaban/restli/UserManagerResource.java b/src/restli/java/azkaban/restli/UserManagerResource.java
index 60b3ad7..e80967d 100644
--- a/src/restli/java/azkaban/restli/UserManagerResource.java
+++ b/src/restli/java/azkaban/restli/UserManagerResource.java
@@ -1,14 +1,27 @@
 package azkaban.restli;
 
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.security.KeyFactory;
+import java.security.PublicKey;
+import java.security.Security;
+import java.security.spec.X509EncodedKeySpec;
 import java.util.UUID;
 
+import javax.crypto.Cipher;
 import javax.servlet.ServletException;
 
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.io.IOUtils;
 import org.apache.log4j.Logger;
+import org.bouncycastle.jce.provider.BouncyCastleProvider;
 
 import azkaban.restli.user.User;
 import azkaban.user.UserManager;
 import azkaban.user.UserManagerException;
+import azkaban.utils.cache.Cache;
+import azkaban.utils.cache.CacheManager;
 import azkaban.webapp.AzkabanWebServer;
 import azkaban.webapp.session.Session;
 
@@ -17,6 +30,7 @@ import com.linkedin.restli.server.annotations.ActionParam;
 import com.linkedin.restli.server.annotations.RestLiActions;
 import com.linkedin.restli.server.resources.ResourceContextHolder;
 
+
 @RestLiActions(name = "user", namespace = "azkaban.restli")
 public class UserManagerResource extends ResourceContextHolder {
 	private static final Logger logger = Logger.getLogger(UserManagerResource.class);
@@ -24,7 +38,7 @@ public class UserManagerResource extends ResourceContextHolder {
 	public AzkabanWebServer getAzkaban() {
 		return AzkabanWebServer.getInstance();
 	}
-
+	
 	@Action(name = "login")
 	public String login(
 			@ActionParam("username") String username,
@@ -78,4 +92,25 @@ public class UserManagerResource extends ResourceContextHolder {
 
 		return session;
 	}
+	
+	/**
+	 * 
+	 */
+	private static class LoginChallenge {
+		private final String user;
+		private final String challenge;
+		
+		public LoginChallenge(String user, String challenge) {
+			this.user = user;
+			this.challenge = challenge;
+		}
+
+		public String getUser() {
+			return user;
+		}
+
+		public String getChallenge() {
+			return challenge;
+		}
+	}
 }
\ No newline at end of file