[jboss-cvs] JBossAS SVN: r78535 - in projects/jboss-cl/branches/Branch_2_0: classloader/src/main/java/org/jboss/classloader/spi/base and 3 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Sep 15 08:41:41 EDT 2008


Author: adrian at jboss.org
Date: 2008-09-15 08:41:41 -0400 (Mon, 15 Sep 2008)
New Revision: 78535

Modified:
   projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderPolicy.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/base/BaseClassLoader.java
   projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/java/org/jboss/classloading/spi/vfs/policy/VFSClassLoaderPolicy.java
   projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/policy/test/PackageInfoUnitTestCase.java
   projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/classloader/testear1x.ear
Log:
[JBCL-43] - Proper fix

Modified: projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderPolicy.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderPolicy.java	2008-09-15 12:41:29 UTC (rev 78534)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderPolicy.java	2008-09-15 12:41:41 UTC (rev 78535)
@@ -206,6 +206,20 @@
    {
       return null;
    }
+   
+   /**
+    * Get the package information for a class<p>
+    * 
+    * The default is to invoke getPackageInformation for the class's package
+    * 
+    * @param className name the class name
+    * @param packageName the package information
+    * @return the information or null if there is none
+    */
+   public PackageInformation getClassPackageInformation(String className, String packageName)
+   {
+      return getPackageInformation(packageName);
+   }
 
    /**
     * Check whether this a request from the jdk if it is return the relevant classloader<p>

Modified: projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/base/BaseClassLoader.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/base/BaseClassLoader.java	2008-09-15 12:41:29 UTC (rev 78534)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/base/BaseClassLoader.java	2008-09-15 12:41:41 UTC (rev 78535)
@@ -651,7 +651,7 @@
          return;
       
       // Ask the policy for the information
-      PackageInformation pi = policy.getPackageInformation(packageName);
+      PackageInformation pi = policy.getClassPackageInformation(className, packageName);
       
       // Already defined?
       Package pkge = getPackage(packageName);

Modified: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/java/org/jboss/classloading/spi/vfs/policy/VFSClassLoaderPolicy.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/java/org/jboss/classloading/spi/vfs/policy/VFSClassLoaderPolicy.java	2008-09-15 12:41:29 UTC (rev 78534)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/java/org/jboss/classloading/spi/vfs/policy/VFSClassLoaderPolicy.java	2008-09-15 12:41:41 UTC (rev 78535)
@@ -37,6 +37,7 @@
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.jar.Manifest;
 
+import org.jboss.classloader.plugins.ClassLoaderUtils;
 import org.jboss.classloader.spi.ClassLoaderPolicy;
 import org.jboss.classloader.spi.DelegateLoader;
 import org.jboss.classloader.spi.PackageInformation;
@@ -565,9 +566,9 @@
    }
    
    @Override
-   public PackageInformation getPackageInformation(String packageName)
+   public PackageInformation getClassPackageInformation(String className, String packageName)
    {
-      String path = packageName.replace('.', '/');
+      String path = ClassLoaderUtils.classNameToPath(className);
       VirtualFile root = findRoot(path);
       Manifest manifest = null;
       URL rootURL = null;

Modified: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/policy/test/PackageInfoUnitTestCase.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/policy/test/PackageInfoUnitTestCase.java	2008-09-15 12:41:29 UTC (rev 78534)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/policy/test/PackageInfoUnitTestCase.java	2008-09-15 12:41:41 UTC (rev 78535)
@@ -59,7 +59,7 @@
       policy.setExportAll(ExportAll.NON_EMPTY);
       policy.setImportAll(true);
 
-      PackageInformation utilInfo = policy.getPackageInformation("util");
+      PackageInformation utilInfo = policy.getClassPackageInformation("util.Shared", "util");
       /*
       Specification-Title: testear1x.ear/lib/jar1.jar
       Specification-Version: 1.0.1.GA

Modified: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/classloader/testear1x.ear
===================================================================
(Binary files differ)




More information about the jboss-cvs-commits mailing list