azkaban-aplcache

Update the UI to make it more consistent across different browsers.

12/3/2014 11:09:30 PM

Details

diff --git a/azkaban-common/src/main/java/azkaban/project/ProjectManager.java b/azkaban-common/src/main/java/azkaban/project/ProjectManager.java
index a4fa578..17865bb 100644
--- a/azkaban-common/src/main/java/azkaban/project/ProjectManager.java
+++ b/azkaban-common/src/main/java/azkaban/project/ProjectManager.java
@@ -354,7 +354,7 @@ public class ProjectManager {
   }
 
   public Map<String, ValidationReport> uploadProject(Project project, File archive, String fileType,
-      User uploader, Props additionalProp) throws ProjectManagerException {
+      User uploader, Props additionalProps) throws ProjectManagerException {
     logger.info("Uploading files to " + project.getName());
 
     // Unzip.
@@ -378,7 +378,7 @@ public class ProjectManager {
     // key, it is necessary to create a new instance of Props to make sure these different
     // values are isolated from each other.
     Props prop = new Props(props);
-    prop.putAll(additionalProp);
+    prop.putAll(additionalProps);
     prop.put(ValidatorConfigs.PROJECT_ARCHIVE_FILE_PATH, archive.getAbsolutePath());
     // Basically, we want to make sure that for different invocations to the uploadProject method,
     // the validators are using different values for the PROJECT_ARCHIVE_FILE_PATH configuration key.
diff --git a/azkaban-common/src/main/java/azkaban/project/validator/ValidatorConfigs.java b/azkaban-common/src/main/java/azkaban/project/validator/ValidatorConfigs.java
index add2d05..56beb00 100644
--- a/azkaban-common/src/main/java/azkaban/project/validator/ValidatorConfigs.java
+++ b/azkaban-common/src/main/java/azkaban/project/validator/ValidatorConfigs.java
@@ -2,6 +2,8 @@ package azkaban.project.validator;
 
 public class ValidatorConfigs {
 
+  private ValidatorConfigs() {} // Prevents instantiation
+
   /** Key for the config param specifying the directory containing validator JAR files **/
   public static final String VALIDATOR_PLUGIN_DIR = "project.validators.dir";
 
diff --git a/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java b/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java
index cc2056a..3f00b92 100644
--- a/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java
+++ b/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java
@@ -1423,11 +1423,11 @@ public class ProjectManagerServlet extends LoginAbstractAzkabanServlet {
     String projectName = (String) multipart.get("project");
     Project project = projectManager.getProject(projectName);
     String autoFix = (String) multipart.get("fix");
-    Props prop = new Props();
-    if (autoFix == null) {
-      prop.put(ValidatorConfigs.CUSTOM_AUTO_FIX_FLAG_PARAM, "false");
-    } else if (autoFix.equals("on")) {
-      prop.put(ValidatorConfigs.CUSTOM_AUTO_FIX_FLAG_PARAM, "true");
+    Props props = new Props();
+    if (autoFix.equals("on")) {
+      props.put(ValidatorConfigs.CUSTOM_AUTO_FIX_FLAG_PARAM, "true");
+    } else {
+      props.put(ValidatorConfigs.CUSTOM_AUTO_FIX_FLAG_PARAM, "false");
     }
 
     if (projectName == null || projectName.isEmpty()) {
@@ -1468,7 +1468,7 @@ public class ProjectManagerServlet extends LoginAbstractAzkabanServlet {
         out.close();
 
         Map<String, ValidationReport> reports = projectManager.uploadProject(
-            project, archiveFile, type, user, prop);
+            project, archiveFile, type, user, props);
         StringBuffer message = new StringBuffer();
         for (Entry<String, ValidationReport> reportEntry : reports.entrySet()) {
           ValidationReport report = reportEntry.getValue();
diff --git a/azkaban-webserver/src/main/resources/azkaban/webapp/servlet/velocity/projectmodals.vm b/azkaban-webserver/src/main/resources/azkaban/webapp/servlet/velocity/projectmodals.vm
index 08331f3..3977134 100644
--- a/azkaban-webserver/src/main/resources/azkaban/webapp/servlet/velocity/projectmodals.vm
+++ b/azkaban-webserver/src/main/resources/azkaban/webapp/servlet/velocity/projectmodals.vm
@@ -33,19 +33,22 @@
                       <input type="file" class="form-control" id="file" name="file">
                     </div>
                   </div>
-                </fieldset>
-                #if ($validatorFixPrompt.booleanValue())
-                  <fieldset class="form-horizontal">
+                  #if ($validatorFixPrompt.booleanValue())
                     <div class="form-group">
                       <label for="fix" class="col-sm-3 control-label">
-                        $validatorFixLabel.toString()<a href=$validatorFixLink.toString() target="_blank">?</a>
+                        $validatorFixLabel.toString()
+                        <a href=$validatorFixLink.toString() target="_blank">
+                          <span class="ui-icon ui-icon-info" style="display:inline-block;"></span>
+                        </a>
                       </label>
-                      <div class="col-sm-9">
-                        <input type="checkbox" class="form-control" id="fix" name="fix" checked>
+                      <div class="col-sm-3">
+                        <div class="checkbox">
+                          <input type="checkbox" id="fix" name="fix" checked="checked">
+                        </div>
                       </div>
                     </div>
-                  </fieldset>
-                #end
+                  #end
+                </fieldset>
               </div>
               <div class="modal-footer">
                 <input type="hidden" name="project" value="$project.name">
diff --git a/azkaban-webserver/src/main/resources/azkaban/webapp/servlet/velocity/projectpage.vm b/azkaban-webserver/src/main/resources/azkaban/webapp/servlet/velocity/projectpage.vm
index 360c9db..29f95f0 100644
--- a/azkaban-webserver/src/main/resources/azkaban/webapp/servlet/velocity/projectpage.vm
+++ b/azkaban-webserver/src/main/resources/azkaban/webapp/servlet/velocity/projectpage.vm
@@ -26,6 +26,7 @@
     <script type="text/javascript" src="${context}/js/azkaban/view/flow-execute-dialog.js"></script>
     <script type="text/javascript" src="${context}/js/azkaban/view/project.js"></script>
     <script type="text/javascript" src="${context}/js/azkaban/view/project-modals.js"></script>
+    <link rel="stylesheet" href="//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css">
     <script type="text/javascript">
       var contextURL = "${context}";
       var currentTime = ${currentTime};
diff --git a/azkaban-webserver/src/restli/java/azkaban/restli/ProjectManagerResource.java b/azkaban-webserver/src/restli/java/azkaban/restli/ProjectManagerResource.java
index cce43d0..0c48564 100644
--- a/azkaban-webserver/src/restli/java/azkaban/restli/ProjectManagerResource.java
+++ b/azkaban-webserver/src/restli/java/azkaban/restli/ProjectManagerResource.java
@@ -97,10 +97,10 @@ public class ProjectManagerResource extends ResourceContextHolder {
       // complete.
       logger.info("Downloading package from " + packageUrl);
       FileUtils.copyURLToFile(url, archiveFile);
-      Props prop = new Props();
+      Props props = new Props();
 
       logger.info("Downloaded to " + archiveFile.toString());
-      projectManager.uploadProject(project, archiveFile, "zip", user, prop);
+      projectManager.uploadProject(project, archiveFile, "zip", user, props);
     } catch (IOException e) {
       String errorMsg =
           "Download of URL " + packageUrl + " to " + archiveFile.toString()