azkaban-aplcache

Fixing build scripts to auto build restli files. Also fixing

4/21/2014 10:34:32 PM

Details

build.gradle 6(+4 -2)

diff --git a/build.gradle b/build.gradle
index 5fe2780..168c745 100644
--- a/build.gradle
+++ b/build.gradle
@@ -130,7 +130,7 @@ task restliTemplateGenerator(type: JavaExec) {
     classpath = configurations.generateRestli
 }
 
-task restliRestSpecGenerator(dependsOn: [build,restliTemplateGenerator], type: JavaExec) {
+task restliRestSpecGenerator(dependsOn: [restliTemplateGenerator], type: JavaExec) << {
     mkdir 'src/restli/generatedRestSpec'
 
     main = 'com.linkedin.restli.tools.idlgen.RestLiResourceModelExporterCmdLineApp'
@@ -138,9 +138,11 @@ task restliRestSpecGenerator(dependsOn: [build,restliTemplateGenerator], type: J
     classpath = configurations.generateRestli
 }
 
-task restli(dependsOn: restliTemplateGenerator) {
+task restli(dependsOn: restliTemplateGenerator) << {
 }
 
+compileJava.dependsOn.add('restli')
+
 eclipse.classpath.file {
     // Erase the whole classpath
     beforeMerged {
diff --git a/src/restli/java/azkaban/restli/ProjectManagerResource.java b/src/restli/java/azkaban/restli/ProjectManagerResource.java
index c70696a..fbb09df 100644
--- a/src/restli/java/azkaban/restli/ProjectManagerResource.java
+++ b/src/restli/java/azkaban/restli/ProjectManagerResource.java
@@ -57,37 +57,39 @@ public class ProjectManagerResource extends ResourceContextHolder {
 		}
 		
 		if (!ResourceUtils.hasPermission(project, user, Permission.Type.WRITE)) {
-			logger.error("User " + user.getUserId() + " has no permission to write to project " + project.getName());
-			throw new ProjectManagerException("User '" + user + "' doesn't have permissions to deploy to " + project.getName());
+			String errorMsg = "User " + user.getUserId() + " has no permission to write to project " + project.getName();
+			logger.error(errorMsg);
+			throw new ProjectManagerException(errorMsg);
 		}
 
 		// Deploy stuff here. Move the code to a more formal area later.
 		logger.info("Downloading file from " + packageUrl);
 		URL url = null;
-		InputStream in = null;
+		InputStream urlFileInputStream = null;
 		try {
 			url = new URL(packageUrl);
-			in = url.openStream();
+			InputStream in = url.openStream();
+			urlFileInputStream = new BufferedInputStream(in);
 		} catch (MalformedURLException e) {
-			logger.error("Url " + packageUrl + " is malformed.", e);
-			throw new ProjectManagerException("Url " + packageUrl + " is malformed.", e);
+			String errorMsg = "Url " + packageUrl + " is malformed.";
+			logger.error(errorMsg, e);
+			throw new ProjectManagerException(errorMsg, e);
 		} catch (IOException e) {
-			logger.error("Error opening input stream.", e);
-			throw new ProjectManagerException("Error opening input stream. Couldn't download file.", e);
+			String errorMsg = "Error opening input stream to " + packageUrl;
+			logger.error(errorMsg, e);
+			throw new ProjectManagerException(errorMsg, e);
 		}
 		
 		String filename = getFileName(url.getFile());
 
-		BufferedInputStream buff = new BufferedInputStream(in);
 		File tempDir = Utils.createTempDir();
-		OutputStream out = null;
-		
+		OutputStream fileOutputStream = null;
 		try {
 			logger.error("Downloading " + filename);
 			File archiveFile = new File(tempDir, filename);
-			out = new BufferedOutputStream(new FileOutputStream(archiveFile));
-			IOUtils.copy(buff, out);
-			out.close();
+			fileOutputStream = new BufferedOutputStream(new FileOutputStream(archiveFile));
+			IOUtils.copy(urlFileInputStream, fileOutputStream);
+			fileOutputStream.close();
 			
 			logger.error("Downloaded to " + archiveFile.toString() + " " + archiveFile.length() + " bytes.");
 			projectManager.uploadProject(project, archiveFile, "zip", user);
@@ -104,11 +106,11 @@ public class ProjectManagerResource extends ResourceContextHolder {
 			if (tempDir.exists()) {
 				FileUtils.deleteDirectory(tempDir);
 			}
-			if (buff != null) {
-				buff.close();
+			if (urlFileInputStream != null) {
+				urlFileInputStream.close();
 			}
-			if (out != null) {
-				out.close();
+			if (fileOutputStream != null) {
+				fileOutputStream.close();
 			}
 		}