azkaban-developers

Re-formatting velocity vm.

6/27/2012 10:59:39 PM

Details

diff --git a/src/java/azkaban/project/FileProjectManager.java b/src/java/azkaban/project/FileProjectManager.java
index 98c6ecb..add451c 100644
--- a/src/java/azkaban/project/FileProjectManager.java
+++ b/src/java/azkaban/project/FileProjectManager.java
@@ -38,10 +38,6 @@ public class FileProjectManager implements ProjectManager {
     private static final Logger logger = Logger.getLogger(FileProjectManager.class);
     private ConcurrentHashMap<String, Project> projects = new ConcurrentHashMap<String, Project>();
     
-    // We store the flows for projects in the ProjectManager instead of the Project so we can employ different 
-    // loading/caching techniques.
-    private HashMap<String, Map<String, Flow>> projectFlows = new HashMap<String, Map<String, Flow>>();
-
 	private File projectDirectory;
 	
     public FileProjectManager(Props props) {
@@ -124,7 +120,9 @@ public class FileProjectManager implements ProjectManager {
     						flowMap.put(flow.getId(), flow);
     					}
     					
-    					projectFlows.put(project.getName(), flowMap);
+    			    	synchronized (project) {
+    			    		project.setFlows(flowMap);
+    			    	}
     				}
     			}
     		}
@@ -202,7 +200,7 @@ public class FileProjectManager implements ProjectManager {
 	    		project.setSource(installDir.getName());
 	    		project.setLastModifiedTimestamp(System.currentTimeMillis());
 	    		project.setLastModifiedUser(uploader.getUserId());
-	    		projectFlows.put(projectName, flows);
+	    		project.setFlows(flows);
 	    	}
 	    	
 	    	try {
@@ -332,13 +330,6 @@ public class FileProjectManager implements ProjectManager {
 		return null;
 	}
 
-	@Override
-	public List<Flow> getProjectFlows(String projectName, User user) throws ProjectManagerException {
-		
-		
-		return null;
-	}
-
 	private static class SuffixFilter implements FileFilter {
 		private String suffix;
 		
diff --git a/src/java/azkaban/project/Project.java b/src/java/azkaban/project/Project.java
index cb7337a..732b26f 100644
--- a/src/java/azkaban/project/Project.java
+++ b/src/java/azkaban/project/Project.java
@@ -6,6 +6,7 @@ import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 
+import azkaban.flow.Flow;
 import azkaban.user.Permission;
 import azkaban.user.Permission.Type;
 import azkaban.user.User;
@@ -18,6 +19,7 @@ public class Project {
 	private String lastModifiedUser;
 	private String source;
 	private HashMap<String, Permission> userToPermission = new HashMap<String, Permission>();
+	private Map<String, Flow> flows = null;
 	
 	public Project(String name) {
 		this.name = name;
@@ -26,7 +28,11 @@ public class Project {
 	public String getName() {
 		return name;
 	}
-
+	
+	public void setFlows(Map<String, Flow> flows) {
+		this.flows = flows;
+	}
+	
 	public boolean hasPermission(User user, Type type) {
 		Permission perm = userToPermission.get(user.getUserId());
 		if (perm == null) {
diff --git a/src/java/azkaban/project/ProjectManager.java b/src/java/azkaban/project/ProjectManager.java
index f0ddabe..6d673c0 100644
--- a/src/java/azkaban/project/ProjectManager.java
+++ b/src/java/azkaban/project/ProjectManager.java
@@ -15,8 +15,6 @@ public interface ProjectManager {
     
     public List<Project> getProjects(User user);
     
-    public List<Flow> getProjectFlows(String projectName, User user) throws ProjectManagerException;
-    
     public Project getProject(String name, User user);
     
     public void uploadProject(String projectName, File projectDir, User uploader, boolean force) throws ProjectManagerException;
diff --git a/src/java/azkaban/webapp/servlet/ProjectManagerServlet.java b/src/java/azkaban/webapp/servlet/ProjectManagerServlet.java
index 027fe09..84fbc15 100644
--- a/src/java/azkaban/webapp/servlet/ProjectManagerServlet.java
+++ b/src/java/azkaban/webapp/servlet/ProjectManagerServlet.java
@@ -67,6 +67,8 @@ public class ProjectManagerServlet extends LoginAbstractAzkabanServlet {
         			page.add("project", project);
         			page.add("admins", Utils.flattenToString(project.getUsersWithPermission(Type.ADMIN), ","));
         			page.add("permissions", project.getUserPermission(user));
+        			
+        			
         		}
         		
         	}
diff --git a/src/java/azkaban/webapp/servlet/velocity/index.vm b/src/java/azkaban/webapp/servlet/velocity/index.vm
index 1d4c83c..e8a19e1 100644
--- a/src/java/azkaban/webapp/servlet/velocity/index.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/index.vm
@@ -1,103 +1,103 @@
 <!DOCTYPE html> 
 <html>
-  <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/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.job.view.js"></script>
-    <script type="text/javascript">
-      var contextURL = "${context}";
-      var currentTime = ${currentTime};
-      var timezone = "${timezone}";
-      var errorMessage = ${error_message};
-      var successMessage = ${success_message};
-    </script>
-  </head>
-  <body>
-    #set($current_page="all")
-    #parse( "azkaban/webapp/servlet/velocity/nav.vm" )
-    <div class="messaging"><p id="messageClose">X</p><p id="message"></p></div>  
-    
-    <div class="content">
-      <div id="all-jobs-content">
-        <div class="section-hd">
-          <h2>My Projects</h2>
+	<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/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.job.view.js"></script>
+		<script type="text/javascript">
+			var contextURL = "${context}";
+			var currentTime = ${currentTime};
+			var timezone = "${timezone}";
+			var errorMessage = ${error_message};
+			var successMessage = ${success_message};
+		</script>
+	</head>
+	<body>
+		#set($current_page="all")
+#parse( "azkaban/webapp/servlet/velocity/nav.vm" )
+		<div class="messaging"><p id="messageClose">X</p><p id="message"></p></div>  
 
-          <form method="get">
-            <input type="hidden" name="action" value="search">
-            <input type="submit" value="Search" class="search-btn">
-            <input id="searchtextbox" type="text" placeholder="by job name or wildcard" value="" class="search-input" name="job">
-          </form>
+		<div class="content">
+			<div id="all-jobs-content">
+				<div class="section-hd">
+					<h2>My Projects</h2>
+			
+					<form method="get">
+						<input type="hidden" name="action" value="search">
+						<input type="submit" value="Search" class="search-btn">
+						<input id="searchtextbox" type="text" placeholder="by job name or wildcard" value="" class="search-input" name="job">
+					</form>
+			
+					<a id="create-project-btn" class="btn1 createproject" href="#">Create Project</a>
+				</div><!-- end .section-hd -->
+			</div>
+			<table id="all-jobs" class="all-jobs job-table">
+				<thead>
+					<tr>
+						<th class="tb-name">Name</th>
+						<th class="tb-up-date">Modified Date</th>
+						<th class="tb-owner">Modified By</th>
+						<th class="tb-action last">Actions</th>
+					</tr>
+				</thead>
+				<tbody>
+#if($projects)
+#foreach($project in $projects)
+					<tr class="row">
+						<td class="tb-name">
+							<div class="jobfolder expand" onclick="expandFlow(this)" id="$folderName">
+								<span class="state-icon"></span>
+								<a href="${context}/manager?project=${project.name}">$project.name</a>
+							</div>
+						</td>
+						<td class="tb-up-date">$utils.formatDate($project.lastModifiedTimestamp)</td>
+						<td class="tb-owner">$project.lastModifiedUser</td>
+						<td class="tb-action last"></td>
+					</tr>
+#end
+#else
+					<tr><td class="last">No viewable projects found.</td></tr>
+#end
+				</tbody>
+			</table>
+		</div>
 
-          <a id="create-project-btn" class="btn1 createproject" href="#">Create Project</a>
-        </div><!-- end .section-hd -->
-      </div>
-      <table id="all-jobs" class="all-jobs job-table">
-      	<thead>
-      		<tr>
-      			<th class="tb-name">Name</th>
-      			<th class="tb-up-date">Modified Date</th>
-      			<th class="tb-owner">Modified By</th>
-      			<th class="tb-action last">Actions</th>
-      		</tr>
-      	 </thead>
-      	 <tbody>
-      	 	#if($projects)
-	      	    #foreach($project in $projects)
-	      			<tr class="row">
-	      				<td class="tb-name">
-	      					<div class="jobfolder expand" onclick="expandFlow(this)" id="$folderName">
-                				<span class="state-icon"></span>
-                				<a href="${context}/manager?project=${project.name}">$project.name</a>
-              				</div>
-	      				</td>
-	      				<td class="tb-up-date">$utils.formatDate($project.lastModifiedTimestamp)</td>
-	      				<td class="tb-owner">$project.lastModifiedUser</td>
-	      				<td class="tb-action last"></td>
-	      			</tr>
-	      		#end
-	      	#else
-	      		<tr><td class="last">No viewable projects found.</td></tr>
-	      	#end
-         </tbody>
-       </table>
-    </div>
-  </body>
-
-<!-- modal content -->
-  <div id="create-project" class="modal">
-    <h3>Create Project</h3>
-      <div id="errorMsg" class="box-error-message">$errorMsg</div>
-      <div class="message">
-          <fieldset>
-            <dl>
-              <dt><label for="path">Project Name</label></dt>
-              <dd><input id="path" name="project" type="text" size="20" title="The project name."/>
-              </dd>
-              <dt>Description</dt>
-              <dd><textarea id="description" name="description" rows="2" cols="40"></textarea></dd>
-
-              <input name="action" type="hidden" value="create" />
-              <input name="redirect" type="hidden" value="$!context/" />
-            </dl>
-          </fieldset>
-      </div>
-      <div class="actions">
-        <a class="yes btn2" id="create-btn" href="#">Create Project</a>
-        <a class="no simplemodal-close btn3" href="#">Cancel</a>
-      </div>
-    </div>
-    <div id="invalid-session" class="modal">
-      <h3>Invalid Session</h3>
-      <p>Session has expired. Please re-login.</p>
-      <div class="actions">
-          <a class="yes btn2" id="login-btn" href="#">Re-login</a>
-      </div>
-    </div>
+		<!-- modal content -->
+		<div id="create-project" class="modal">
+			<h3>Create Project</h3>
+			<div id="errorMsg" class="box-error-message">$errorMsg</div>
+			
+			<div class="message">
+				<fieldset>
+					<dl>
+						<dt><label for="path">Project Name</label></dt>
+						<dd><input id="path" name="project" type="text" size="20" title="The project name."/></dd>
+						<dt>Description</dt>
+						<dd><textarea id="description" name="description" rows="2" cols="40"></textarea></dd>
+					
+						<input name="action" type="hidden" value="create" />
+						<input name="redirect" type="hidden" value="$!context/" />
+					</dl>
+				</fieldset>
+			</div>
+			<div class="actions">
+				<a class="yes btn2" id="create-btn" href="#">Create Project</a>
+				<a class="no simplemodal-close btn3" href="#">Cancel</a>
+			</div>
+			<div id="invalid-session" class="modal">
+				<h3>Invalid Session</h3>
+				<p>Session has expired. Please re-login.</p>
+				<div class="actions">
+					<a class="yes btn2" id="login-btn" href="#">Re-login</a>
+				</div>
+			</div>
+		</div>
+	</body>
 </html>
 
 
diff --git a/src/java/azkaban/webapp/servlet/velocity/nav.vm b/src/java/azkaban/webapp/servlet/velocity/nav.vm
index 54c0d34..c339199 100644
--- a/src/java/azkaban/webapp/servlet/velocity/nav.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/nav.vm
@@ -1,20 +1,18 @@
-
-  <div id="header" class="header">
-    #parse( "azkaban/webapp/servlet/velocity/title.vm" )
-    <ul id="nav" class="nav">
-      <li id="all-jobs-tab" #if($current_page == 'all')class="selected"#end><a href="/#all">Projects</a></li>
-      <li id="scheduled-jobs-tab" #if($current_page == 'schedule')class="scheduled"#end><a href="$!context/schedule">Scheduled</a></li>
-      <li id="executing-jobs-tab" #if($current_page == 'executing')class="selected"#end><a href="$!context/executing">Executing</a></li>
-      <li id="history-jobs-tab" #if($current_page == 'history')class="selected"#end><a href="$!context/history">History</a></li>
-      <li><a href="$!context/fs">HDFS</a></li>
-    </ul>
-    
-    
-    <div id="user-id">
-    	<a>${user_id}<div id="user-down"></div></a>    
-        <div id="user-menu">
-    		<ul><li><a id="logout" href="$!context?logout">logout</a></li></ul>
-    	</div>
-    </div>
-
-  </div>
+		<div id="header" class="header">
+#parse( "azkaban/webapp/servlet/velocity/title.vm" )
+			<ul id="nav" class="nav">
+				<li id="all-jobs-tab" #if($current_page == 'all')class="selected"#end><a href="/#all">Projects</a></li>
+				<li id="scheduled-jobs-tab" #if($current_page == 'schedule')class="scheduled"#end><a href="$!context/schedule">Scheduled</a></li>
+				<li id="executing-jobs-tab" #if($current_page == 'executing')class="selected"#end><a href="$!context/executing">Executing</a></li>
+				<li id="history-jobs-tab" #if($current_page == 'history')class="selected"#end><a href="$!context/history">History</a></li>
+				<li><a href="$!context/fs">HDFS</a></li>
+			</ul>
+			
+			
+			<div id="user-id">
+				<a>${user_id}<div id="user-down"></div></a>    
+				<div id="user-menu">
+					<ul><li><a id="logout" href="$!context?logout">logout</a></li></ul>
+				</div>
+			</div>
+		</div>
diff --git a/src/java/azkaban/webapp/servlet/velocity/projectmanager.vm b/src/java/azkaban/webapp/servlet/velocity/projectmanager.vm
index e4fea33..9ea0797 100644
--- a/src/java/azkaban/webapp/servlet/velocity/projectmanager.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/projectmanager.vm
@@ -1,95 +1,125 @@
 <!DOCTYPE html> 
 <html>
-  <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};
-      var timezone = "${timezone}";
-      var errorMessage = "${error_message}";
-      var successMessage = "${success_message}";
-    </script>
-  </head>
-  <body>
-    #set($current_page="all")
-    #parse( "azkaban/webapp/servlet/velocity/nav.vm" )
-    <div class="messaging"><p id="messageClose">X</p><p id="message"></p></div>  
-    
-    <div class="content">
-	  #if($errorMsg)
-    	  <div class="box-error-message">$errorMsg</div>
-      #else
-      	  #if($error_message != "null")
-    	  	<div class="box-error-message">$error_message</div>
-    	  #elseif($success_message != "null")
-    	  	<div class="box-success-message">$success_message</div>
-    	  #end
-	      <div id="all-jobs-content">
-	        <div class="section-hd">
-	          <h2>Project <span>$project.name</span></h2>
-	          
-	          <a id="project-upload-btn" class="btn1 projectupload" href="#">Upload</a>
-	          <a id="project-permission-btn" class="btn5 projectpermission" href="#">Permissions</a>
-	        </div><!-- end .section-hd -->
-	      </div>
+	<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};
+			var timezone = "${timezone}";
+			var errorMessage = "${error_message}";
+			var successMessage = "${success_message}";
+		</script>
+	</head>
+	<body>
+#set($current_page="all")
+#parse( "azkaban/webapp/servlet/velocity/nav.vm" )
+		<div class="messaging"><p id="messageClose">X</p><p id="message"></p></div>  
 
-         <div id="project-users">
-         	<table class="user-table">
-         		<tr><td class="first">Project Admins:</td><td>$admins</td></tr>
-         		<tr><td class="first">User ${user_id} Permissions:</td><td>$permissions.toString()</td></tr>
-         	</table>
-         </div>
-         <div id="project-summary">
-         	<table class="summary-table">
-         		<tr><td class="first">Name:</td><td>$project.name</td></tr>
-         		<tr><td class="first">Created Date:</td><td>$utils.formatDate($project.lastModifiedTimestamp)</td></tr>
-         		<tr><td class="first">Modified Date:</td><td>$utils.formatDate($project.createTimestamp)</td></tr>
-         		<tr><td class="first">Last Modified by:</td><td>$project.lastModifiedUser</td></tr>
-         		<tr><td class="first">Description:</td><td>$project.description</td></tr>
-         	</table>
-         </div>
-         <div id="project-tabs">
+			<div class="content">
+#if($errorMsg)
+				<div class="box-error-message">$errorMsg</div>
+#else
+#if($error_message != "null")
+				<div class="box-error-message">$error_message</div>
+#elseif($success_message != "null")
+				<div class="box-success-message">$success_message</div>
+#end
 
-         </div>
-      #end
-      </div>
-    
-    <div id="upload-project" class="modal">
-    <h3>Upload Project Files</h3>
-      <div id="errorMsg" class="box-error-message">$errorMsg</div>
-      <div class="message">
-        <form id="upload-form" enctype="multipart/form-data" method="post" action="$!context/manager">
-          <fieldset>
-            <dl>
-	          <dt>Job Archive</dt>
-	          <dd><input id="file" name="file" class="file" type="file" onChange="changeFile()" /></dd>
-	          <input type="hidden" name="project" value="$project.name" />
-	          <input type="hidden" name="action" value="upload" />
-	        </dl>
-	      </fieldset>
-	    </form>
-	    
-      </div>
-      <div class="actions">
-        <a class="yes btn2" id="upload-btn" href="#">Upload</a>
-        <a class="no simplemodal-close btn3" href="#">Cancel</a>
-      </div>
-    </div>
-    <div id="invalid-session" class="modal">
-      <h3>Invalid Session</h3>
-      <p>Session has expired. Please re-login.</p>
-      <div class="actions">
-          <a class="yes btn2" id="login-btn" href="#">Re-login</a>
-      </div>
-    </div>
-  </body>
+				<div id="all-jobs-content">
+					<div class="section-hd">
+						<h2>Project <span>$project.name</span></h2>
+						
+						<a id="project-upload-btn" class="btn1 projectupload" href="#">Upload</a>
+						<a id="project-permission-btn" class="btn5 projectpermission" href="#">Permissions</a>
+					</div><!-- end .section-hd -->
+				</div>
+
+				<div id="project-users">
+					<table class="user-table">
+						<tr><td class="first">Project Admins:</td><td>$admins</td></tr>
+						<tr><td class="first">User ${user_id} Permissions:</td><td>$permissions.toString()</td></tr>
+					</table>
+				</div>
+
+				<div id="project-summary">
+					<table class="summary-table">
+						<tr><td class="first">Name:</td><td>$project.name</td></tr>
+						<tr><td class="first">Created Date:</td><td>$utils.formatDate($project.lastModifiedTimestamp)</td></tr>
+						<tr><td class="first">Modified Date:</td><td>$utils.formatDate($project.createTimestamp)</td></tr>
+						<tr><td class="first">Last Modified by:</td><td>$project.lastModifiedUser</td></tr>
+						<tr><td class="first">Description:</td><td>$project.description</td></tr>
+					</table>
+				</div>
+
+			<div id="project-tabs">
+				<table id="all-jobs" class="all-jobs job-table">
+					<thead>
+						<tr>
+							<th class="tb-name">Name</th>
+							<th class="tb-up-date">Modified Date</th>
+							<th class="tb-owner">Modified By</th>
+							<th class="tb-action last">Actions</th>
+						</tr>
+					</thead>
+					<tbody>
+#if($projects)
+#foreach($project in $projects)
+						<tr class="row">
+							<td class="tb-name">
+								<div class="jobfolder expand" onclick="expandFlow(this)" id="$folderName">
+									<span class="state-icon"></span>
+									<a href="${context}/manager?project=${project.name}">$project.name</a>
+								</div>
+							</td>
+							<td class="tb-up-date">$utils.formatDate($project.lastModifiedTimestamp)</td>
+							<td class="tb-owner">$project.lastModifiedUser</td>
+							<td class="tb-action last"></td>
+						</tr>
+#end
+#else
+						<tr><td class="last">No viewable projects found.</td></tr>
+#end
+					</tbody>
+				</table>
+			</div>
+#end
+		</div>
+	
+		<div id="upload-project" class="modal">
+			<h3>Upload Project Files</h3>
+			<div id="errorMsg" class="box-error-message">$errorMsg</div>
+			<div class="message">
+				<form id="upload-form" enctype="multipart/form-data" method="post" action="$!context/manager">
+					<fieldset>
+						<dl>
+							<dt>Job Archive</dt>
+							<dd><input id="file" name="file" class="file" type="file" onChange="changeFile()" /></dd>
+							<input type="hidden" name="project" value="$project.name" />
+							<input type="hidden" name="action" value="upload" />
+						</dl>
+					</fieldset>
+				</form>
+			</div>
+			<div class="actions">
+				<a class="yes btn2" id="upload-btn" href="#">Upload</a>
+				<a class="no simplemodal-close btn3" href="#">Cancel</a>
+			</div>
+			<div id="invalid-session" class="modal">
+				<h3>Invalid Session</h3>
+				<p>Session has expired. Please re-login.</p>
+				<div class="actions">
+					<a class="yes btn2" id="login-btn" href="#">Re-login</a>
+				</div>
+			</div>
+		</div>
+	</body>
 </html>
 
diff --git a/src/java/azkaban/webapp/servlet/velocity/style.vm b/src/java/azkaban/webapp/servlet/velocity/style.vm
index 29b1fdc..8a0de75 100644
--- a/src/java/azkaban/webapp/servlet/velocity/style.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/style.vm
@@ -1,16 +1,16 @@
-  <title>#appname()</title>
-  <link rel="stylesheet" type="text/css" href="${context}/css/azkaban.css"> 
-  <link rel="shortcut icon" href="${context}/favicon.ico" />
-  <style type="text/css">
-	.enviro-name {
-		color: ${azkaban_color};
-	}
-	.header {
-		border-top-color: ${azkaban_color};
-	}
-	.nav .selected a {
-	    border-bottom-color: ${azkaban_color};
-	}
-  </style>
-  <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
- 
\ No newline at end of file
+		<title>#appname()
+		</title>
+		<link rel="stylesheet" type="text/css" href="${context}/css/azkaban.css"> 
+		<link rel="shortcut icon" href="${context}/favicon.ico" />
+		<style type="text/css">
+			.enviro-name {
+				color: ${azkaban_color};
+			}
+			.header {
+				border-top-color: ${azkaban_color};
+			}
+			.nav .selected a {
+				border-bottom-color: ${azkaban_color};
+			}
+		</style>
+		<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
diff --git a/src/java/azkaban/webapp/servlet/velocity/title.vm b/src/java/azkaban/webapp/servlet/velocity/title.vm
index 8d70430..1bcfaf9 100644
--- a/src/java/azkaban/webapp/servlet/velocity/title.vm
+++ b/src/java/azkaban/webapp/servlet/velocity/title.vm
@@ -1,5 +1,5 @@
-<h1 class="logo"><a href="${context}/" title="Azkaban">Azkaban</a></h1>
-<div class="enviro">
-  <p class="enviro-name">${azkaban_name}</p>
-  <p class="enviro-server">${azkaban_label}</p>
-</div>
\ No newline at end of file
+			<h1 class="logo"><a href="${context}/" title="Azkaban">Azkaban</a></h1>
+			<div class="enviro">
+				<p class="enviro-name">${azkaban_name}</p>
+				<p class="enviro-server">${azkaban_label}</p>
+			</div>