azkaban-developers

Remove the customized classloader as the gradle shadow plugin

10/22/2014 3:30:15 AM

Details

diff --git a/azkaban-common/src/main/java/azkaban/project/ProjectManager.java b/azkaban-common/src/main/java/azkaban/project/ProjectManager.java
index aaaaca0..89ae8d4 100644
--- a/azkaban-common/src/main/java/azkaban/project/ProjectManager.java
+++ b/azkaban-common/src/main/java/azkaban/project/ProjectManager.java
@@ -373,12 +373,7 @@ public class ProjectManager {
     validatorManager.loadValidators(prop, logger);
     logger.info("Validating project " + archive.getName() + " using the registered validators "
         + validatorManager.getValidatorsInfo().toString());
-    ClassLoader currentClassLoader = Thread.currentThread().getContextClassLoader();
-    // Switching the classloader to ValidatorClassLoader which prefers the validator's classpath
-    // over the parent classloader's classpath.
-    Thread.currentThread().setContextClassLoader(validatorManager.getClassLoader());
     Map<String, ValidationReport> reports = validatorManager.validate(file);
-    Thread.currentThread().setContextClassLoader(currentClassLoader);
     ValidationStatus status = ValidationStatus.PASS;
     for (Entry<String, ValidationReport> report : reports.entrySet()) {
       if (report.getValue().getStatus().compareTo(status) > 0) {
diff --git a/azkaban-common/src/main/java/azkaban/project/validator/ValidatorManager.java b/azkaban-common/src/main/java/azkaban/project/validator/ValidatorManager.java
index 5bd9a8c..1be62fb 100644
--- a/azkaban-common/src/main/java/azkaban/project/validator/ValidatorManager.java
+++ b/azkaban-common/src/main/java/azkaban/project/validator/ValidatorManager.java
@@ -48,9 +48,4 @@ public interface ValidatorManager {
    * @return
    */
   List<String> getValidatorsInfo();
-
-  /**
-   * Returns the classloader used to load the validator classes
-   */
-  ClassLoader getClassLoader();
 }
diff --git a/azkaban-common/src/main/java/azkaban/project/validator/XmlValidatorManager.java b/azkaban-common/src/main/java/azkaban/project/validator/XmlValidatorManager.java
index 6723b41..dc05c1a 100644
--- a/azkaban-common/src/main/java/azkaban/project/validator/XmlValidatorManager.java
+++ b/azkaban-common/src/main/java/azkaban/project/validator/XmlValidatorManager.java
@@ -5,6 +5,7 @@ import java.io.IOException;
 import java.lang.reflect.Constructor;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.net.URLClassLoader;
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -80,8 +81,7 @@ public class XmlValidatorManager implements ValidatorManager {
     } catch (MalformedURLException e) {
       throw new ValidatorManagerException(e);
     }
-    validatorLoader = new ValidatorClassLoader(resources.toArray(new URL[resources.size()]),
-        XmlValidatorManager.class.getClassLoader());
+    validatorLoader = new URLClassLoader(resources.toArray(new URL[resources.size()]));
 
     // Test loading the validators specified in the xml file.
     try {
@@ -223,9 +223,4 @@ public class XmlValidatorManager implements ValidatorManager {
     return info;
   }
 
-  @Override
-  public ClassLoader getClassLoader() {
-    return validatorLoader;
-  }
-
 }
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 ae5b4bd..45e52f1 100644
--- a/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java
+++ b/azkaban-webserver/src/main/java/azkaban/webapp/servlet/ProjectManagerServlet.java
@@ -1465,7 +1465,7 @@ public class ProjectManagerServlet extends LoginAbstractAzkabanServlet {
             message.append("</ul>");
           }
           if (!report.getWarningMsgs().isEmpty()) {
-            message.append("Validator " + reportEntry.getKey() + " reports warnings:<br><ul>");
+            message.append("Validator " + reportEntry.getKey() + " reports warnings:<ul>");
             for (String msg : report.getWarningMsgs()) {
               message.append("<li>" + msg + "</li>");
             }