[jboss-svn-commits] JBoss Common SVN: r3935 - in shrinkwrap/trunk/impl-base/src/main/java/org/jboss/shrinkwrap/impl/base: container and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jan 20 13:32:37 EST 2010


Author: ALRubinger
Date: 2010-01-20 13:32:37 -0500 (Wed, 20 Jan 2010)
New Revision: 3935

Modified:
   shrinkwrap/trunk/impl-base/src/main/java/org/jboss/shrinkwrap/impl/base/URLPackageScanner.java
   shrinkwrap/trunk/impl-base/src/main/java/org/jboss/shrinkwrap/impl/base/container/ContainerBase.java
Log:
[SHRINKWRAP-90] Apply patch from lightguard_jp (Jason Porter) to perform assertions instead of throwing NPE

Modified: shrinkwrap/trunk/impl-base/src/main/java/org/jboss/shrinkwrap/impl/base/URLPackageScanner.java
===================================================================
--- shrinkwrap/trunk/impl-base/src/main/java/org/jboss/shrinkwrap/impl/base/URLPackageScanner.java	2010-01-19 21:10:36 UTC (rev 3934)
+++ shrinkwrap/trunk/impl-base/src/main/java/org/jboss/shrinkwrap/impl/base/URLPackageScanner.java	2010-01-20 18:32:37 UTC (rev 3935)
@@ -56,18 +56,26 @@
    
    private final Set<Class<?>> classes = new HashSet<Class<?>>();
 
-   public URLPackageScanner(Package pkg, boolean addRecursively, ClassLoader classLoader)
+   /**
+    * Factory method to create an instance of URLPackageScanner.
+    * @param pkg Package that will be scanned
+    * @param addRecursively flag to add child packages
+    * @param classLoader class loader that will have classes added 
+    * @return new instance of URLPackageScanner
+    */
+   public static URLPackageScanner newInstance(Package pkg, boolean addRecursively, ClassLoader classLoader)
    {
-      this(pkg.getName(), addRecursively, classLoader);
+      Validate.notNull(pkg, "Pkg must be specified");
+      Validate.notNull(pkg.getName(), "Pkg must have a name");
+      Validate.notNull(addRecursively, "AddRecursively must be specified");
+      Validate.notNull(classLoader, "ClassLoader must be specified");
+
+      return new URLPackageScanner(pkg, addRecursively, classLoader);
    }
 
-   public URLPackageScanner(String packageName, boolean addRecursively, ClassLoader classLoader)
+   private URLPackageScanner(Package pkg, boolean addRecursively, ClassLoader classLoader)
    {
-      Validate.notNull(packageName, "PackageName must be specified");
-      Validate.notNull(addRecursively, "AddRecursively must be specified");
-      Validate.notNull(classLoader, "ClassLoader must be specified");
-      
-      this.packageName = packageName;
+      this.packageName = pkg.getName();
       this.packageNamePath = packageName.replace(".", "/");
       this.addRecursively = addRecursively;
       this.classLoader = classLoader;
@@ -172,4 +180,4 @@
       scanPackage();
       return classes;
    }
-}
\ No newline at end of file
+}

Modified: shrinkwrap/trunk/impl-base/src/main/java/org/jboss/shrinkwrap/impl/base/container/ContainerBase.java
===================================================================
--- shrinkwrap/trunk/impl-base/src/main/java/org/jboss/shrinkwrap/impl/base/container/ContainerBase.java	2010-01-19 21:10:36 UTC (rev 3934)
+++ shrinkwrap/trunk/impl-base/src/main/java/org/jboss/shrinkwrap/impl/base/container/ContainerBase.java	2010-01-20 18:32:37 UTC (rev 3935)
@@ -744,7 +744,7 @@
       
       for(Package pack : packages) 
       {
-         URLPackageScanner scanner = new URLPackageScanner(
+         URLPackageScanner scanner = URLPackageScanner.newInstance(
                pack, recursive, SecurityActions.getThreadContextClassLoader());
          Set<Class<?>> classes = scanner.getClasses(); 
          for(Class<?> clazz : classes) 



More information about the jboss-svn-commits mailing list