azkaban-aplcache

Adding newer pms changes

6/6/2012 3:58:33 PM

Details

diff --git a/src/java/azkaban/project/FileProjectManager.java b/src/java/azkaban/project/FileProjectManager.java
index d13da39..684c024 100644
--- a/src/java/azkaban/project/FileProjectManager.java
+++ b/src/java/azkaban/project/FileProjectManager.java
@@ -124,6 +124,8 @@ public class FileProjectManager implements ProjectManager {
     	synchronized (project) {
     		logger.info("Uploading files to " + projectName);
     		
+    		
+    		// Do this if it succeeds
     		project.setLastModifiedTimestamp(System.currentTimeMillis());
     		project.setLastModifiedUser(uploader.getUserId());
     	}
diff --git a/src/java/azkaban/utils/FlowUtils.java b/src/java/azkaban/utils/FlowUtils.java
new file mode 100644
index 0000000..b148255
--- /dev/null
+++ b/src/java/azkaban/utils/FlowUtils.java
@@ -0,0 +1,50 @@
+package azkaban.utils;
+
+import java.io.File;
+import java.io.FileNamFilter;
+import java.io.FilenameFilter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import azkaban.flow.Edge;
+import azkaban.flow.Flow;
+import azkaban.flow.Node;
+
+public class FlowUtils {
+	public static void loadProjectFilesFrom(File dir, List<Flow> resultFlow, List<Props> resultProps) {
+		File[] propertyFiles = dir.listFiles();
+		ArrayList<String> errors = new ArrayList<String>();
+		Props propertyFile = null;
+		for (File file: propertyFiles) {
+			
+		}
+	}
+	
+	private static void loadProjectFromDir(File dir, Map<String, Node> node, Map<String, Props> propsFiles, List<String> errors) {
+		File[] propertyFiles = dir.listFiles(new SuffixFilter(".properties"));
+		Props parent = null;
+		for (File file: propertyFiles) {
+			try {
+				Props props = new Props(parent, file);
+			} catch (IOException e) {
+				errors.add("Error loading properties " + file.getName() + ":" + e.getMessage());
+			}
+		}
+	}
+	
+	private class SuffixFilter implements FilenameFilter {
+		private String suffix;
+		
+		public SuffixFilter(String suffix) {
+			this.suffix = suffix;
+		}
+		
+		@Override
+		public boolean accept(File dir, String name) {
+			return name.endsWith(suffix);
+		}
+		
+	}
+}
diff --git a/src/java/azkaban/webapp/servlet/ProjectManagerServlet.java b/src/java/azkaban/webapp/servlet/ProjectManagerServlet.java
index 86b31b8..38bd53c 100644
--- a/src/java/azkaban/webapp/servlet/ProjectManagerServlet.java
+++ b/src/java/azkaban/webapp/servlet/ProjectManagerServlet.java
@@ -152,6 +152,7 @@ public class ProjectManagerServlet extends LoginAbstractAzkabanServlet {
         else {
 	    	try {
 	            File jobDir = extractFile(item);
+	            
 	        } catch (Exception e) {
 	            logger.info("Installation Failed.", e);
 	            setErrorMessageInCookie(resp, "Installation Failed.");
diff --git a/src/java/azkaban/webapp/servlet/velocity/projectmanager.vm b/src/java/azkaban/webapp/servlet/velocity/projectmanager.vm
index 50bfc2f..a88b3e2 100644
--- a/src/java/azkaban/webapp/servlet/velocity/projectmanager.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/projectmanager.vm
@@ -3,12 +3,12 @@
   <head>
     #parse( "azkaban/webapp/servlet/velocity/style.vm" )
     <script type="text/javascript" src="${context}/js/jquery/jquery.js"></script>    
+    <script type="text/javascript" src="${context}/js/jqueryui/jquery-ui.custom.min.js"></script>   
     <script type="text/javascript" src="${context}/js/namespace.js"></script>
     <script type="text/javascript" src="${context}/js/underscore-1.2.1-min.js"></script>
     <script type="text/javascript" src="${context}/js/backbone-0.5.3-min.js"></script>
     <script type="text/javascript" src="${context}/js/jquery.simplemodal.js"></script>
     <script type="text/javascript" src="${context}/js/azkaban.nav.js"></script>
-    <script type="text/javascript" src="${context}/js/azkaban.project.view.js"></script>
     <script type="text/javascript">
       var contextURL = "${context}";
       var currentTime = ${currentTime};
@@ -50,6 +50,9 @@
          		<tr><td class="first">Description:</td><td>$project.description</td></tr>
          	</table>
          </div>
+         <div id="project-tabs">
+
+         </div>
       #end
       </div>
     
diff --git a/src/web/js/azkaban.project.view.js b/src/web/js/azkaban.project.view.js
index 3e51e2a..89c6bfd 100644
--- a/src/web/js/azkaban.project.view.js
+++ b/src/web/js/azkaban.project.view.js
@@ -46,4 +46,6 @@ azkaban.UploadProjectView= Backbone.View.extend({
 $(function() {
 	projectView = new azkaban.ProjectView({el:$( '#all-jobs-content'), successMsg: successMessage, errorMsg: errorMessage });
 	uploadView = new azkaban.UploadProjectView({el:$('#upload-project')});
+	// Setting up the project tabs
+
 });