[jboss-cvs] JBossAS SVN: r81565 - in projects/jboss-cl/branches/Branch_2_0: classloader/src/test/java and 4 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Nov 25 13:26:49 EST 2008


Author: adrian at jboss.org
Date: 2008-11-25 13:26:49 -0500 (Tue, 25 Nov 2008)
New Revision: 81565

Added:
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/javax/
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/javax/swing/
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/javax/swing/MutableComboBoxModel.java
Modified:
   projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/ParentPolicy.java
   projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/domain/test/ParentPolicyUnitTestCase.java
   projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/Module.java
Log:
[JBCL-73] - Fix the parent policy for j2seClassLoadingCompliance=false

Modified: projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/ParentPolicy.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/ParentPolicy.java	2008-11-25 18:02:06 UTC (rev 81564)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/main/java/org/jboss/classloader/spi/ParentPolicy.java	2008-11-25 18:26:49 UTC (rev 81565)
@@ -40,8 +40,11 @@
    /** Standard Java Delegation for java classes */
    public static final ParentPolicy BEFORE_BUT_JAVA_ONLY = new ParentPolicy(ClassFilter.JAVA_ONLY, ClassFilter.NOTHING, "BEFORE_BUT_JAVA_ONLY");
 
+   /** Java and Javax classes before, everything else after */
+   public static final ParentPolicy AFTER_BUT_JAVA_BEFORE = new ParentPolicy(ClassFilter.JAVA_ONLY, ClassFilter.EVERYTHING, "AFTER_BUT_JAVA_BEFORE");
+
    /** Java classes before, everything else after */
-   public static final ParentPolicy AFTER_BUT_JAVA_BEFORE = new ParentPolicy(ClassFilter.JAVA_ONLY, ClassFilter.EVERYTHING, "AFTER_BUT_JAVA_BEFORE");
+   public static final ParentPolicy AFTER_BUT_ONLY_JAVA_BEFORE = new ParentPolicy(ClassFilter.NOTHING_BUT_JAVA, ClassFilter.EVERYTHING, "AFTER_BUT_JAVA_BEFORE");
    
    /** The before filter */
    private ClassFilter beforeFilter;

Added: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/javax/swing/MutableComboBoxModel.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/javax/swing/MutableComboBoxModel.java	                        (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/javax/swing/MutableComboBoxModel.java	2008-11-25 18:26:49 UTC (rev 81565)
@@ -0,0 +1,33 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2007, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package javax.swing;
+
+/**
+ * MutableComboBoxModel.
+ * 
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class MutableComboBoxModel
+{
+
+}

Modified: projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/domain/test/ParentPolicyUnitTestCase.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/domain/test/ParentPolicyUnitTestCase.java	2008-11-25 18:02:06 UTC (rev 81564)
+++ projects/jboss-cl/branches/Branch_2_0/classloader/src/test/java/org/jboss/test/classloader/domain/test/ParentPolicyUnitTestCase.java	2008-11-25 18:26:49 UTC (rev 81565)
@@ -21,6 +21,8 @@
  */
 package org.jboss.test.classloader.domain.test;
 
+import javax.swing.MutableComboBoxModel;
+
 import junit.framework.Test;
 
 import org.jboss.classloader.spi.ClassLoaderDomain;
@@ -138,10 +140,11 @@
       ClassLoaderDomain domain = system.createAndRegisterDomain("test", ParentPolicy.AFTER_BUT_JAVA_BEFORE, null);
       
       MockClassLoaderPolicy policy = createMockClassLoaderPolicy();
-      policy.setPathsAndPackageNames(ClassLoaderDomain.class);
+      policy.setPathsAndPackageNames(ClassLoaderDomain.class, MutableComboBoxModel.class);
       ClassLoader classLoader = system.registerClassLoaderPolicy(domain, policy);
       
       assertLoadClass(Object.class, classLoader, null, true);
+      assertLoadClass(MutableComboBoxModel.class, classLoader, null, true);
       assertLoadClass(ClassLoaderDomain.class, classLoader);
       assertPackage(ClassLoaderDomain.class, classLoader);
    }
@@ -152,13 +155,45 @@
       ClassLoaderDomain domain = system.createAndRegisterDomain("test", ParentPolicy.AFTER_BUT_JAVA_BEFORE, null);
       
       MockClassLoaderPolicy policy = createMockClassLoaderPolicy();
+      policy.setPathsAndPackageNames(MutableComboBoxModel.class);
       ClassLoader classLoader = system.registerClassLoaderPolicy(domain, policy);
       
       assertLoadClass(Object.class, classLoader, null, true);
+      assertLoadClass(MutableComboBoxModel.class, classLoader, null, true);
       assertLoadClass(ClassLoaderDomain.class, classLoader, null, true);
       assertPackage(ClassLoaderDomain.class, classLoader);
    }
    
+   public void testAfterButOnlyJavaBeforeNotReached() throws Exception
+   {
+      ClassLoaderSystem system = createClassLoaderSystem();
+      ClassLoaderDomain domain = system.createAndRegisterDomain("test", ParentPolicy.AFTER_BUT_ONLY_JAVA_BEFORE, null);
+      
+      MockClassLoaderPolicy policy = createMockClassLoaderPolicy();
+      policy.setPathsAndPackageNames(ClassLoaderDomain.class);
+      ClassLoader classLoader = system.registerClassLoaderPolicy(domain, policy);
+      
+      assertLoadClass(Object.class, classLoader, null, true);
+      assertLoadClass(MutableComboBoxModel.class, classLoader, null, true);
+      assertLoadClass(ClassLoaderDomain.class, classLoader);
+      assertPackage(ClassLoaderDomain.class, classLoader);
+   }
+   
+   public void testAfterButOnlyJavaBeforeReached() throws Exception
+   {
+      ClassLoaderSystem system = createClassLoaderSystem();
+      ClassLoaderDomain domain = system.createAndRegisterDomain("test", ParentPolicy.AFTER_BUT_ONLY_JAVA_BEFORE, null);
+      
+      MockClassLoaderPolicy policy = createMockClassLoaderPolicy();
+      policy.setPathsAndPackageNames(MutableComboBoxModel.class);
+      ClassLoader classLoader = system.registerClassLoaderPolicy(domain, policy);
+      
+      assertLoadClass(Object.class, classLoader, null, true);
+      assertLoadClass(MutableComboBoxModel.class, classLoader, classLoader);
+      assertLoadClass(ClassLoaderDomain.class, classLoader, null, true);
+      assertPackage(ClassLoaderDomain.class, classLoader);
+   }
+   
    public void testBeforeFilteredNotMatched() throws Exception
    {
       ClassLoaderSystem system = createClassLoaderSystem();

Modified: projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/Module.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/Module.java	2008-11-25 18:02:06 UTC (rev 81564)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/dependency/Module.java	2008-11-25 18:26:49 UTC (rev 81565)
@@ -290,7 +290,7 @@
       if (isJ2seClassLoadingCompliance())
          return ParentPolicy.BEFORE;
       else
-         return ParentPolicy.AFTER_BUT_JAVA_BEFORE;
+         return ParentPolicy.AFTER_BUT_ONLY_JAVA_BEFORE;
    }
    
    /**




More information about the jboss-cvs-commits mailing list