Fix for GlassFish issue 714. See issue for details. SECTION: Modified Files ---------------------------- M jsf-api/src/javax/faces/FactoryFinder.java M jsf-api/src/javax/faces/component/MethodBindingValidator.java M jsf-api/src/javax/faces/component/MethodBindingValueChangeListener.java M jsf-api/src/javax/faces/component/StateHolderSaver.java M jsf-ri/src/com/sun/faces/util/Util.java - use Class.forName(String, boolean, ClassLoader) instead of ClassLoader.loadClass() to avoid a regression in JavaSE 6.0. SECTION: Diffs ---------------------------- Index: jsf-api/src/javax/faces/FactoryFinder.java =================================================================== RCS file: /cvs/javaserverfaces-sources/jsf-api/src/javax/faces/FactoryFinder.java,v retrieving revision 1.28 diff -u -r1.28 FactoryFinder.java --- jsf-api/src/javax/faces/FactoryFinder.java 7 Mar 2006 20:35:52 -0000 1.28 +++ jsf-api/src/javax/faces/FactoryFinder.java 6 Jun 2006 17:58:01 -0000 @@ -559,7 +559,7 @@ (null != (factoryClass = getFactoryClass(classLoader, factoryName)))) { try { - clazz = classLoader.loadClass(implName); + clazz = Class.forName(implName, false, classLoader); getCtorArg = new Class[1]; getCtorArg[0] = factoryClass; ctor = clazz.getConstructor(getCtorArg); @@ -578,7 +578,7 @@ // we have either no previousImpl or no appropriate one arg // ctor. try { - clazz = classLoader.loadClass(implName); + clazz = Class.forName(implName, false, classLoader); // since this is the hard coded implementation default, // there is no preceding implementation, so don't bother // with a non-zero-arg ctor. Index: jsf-api/src/javax/faces/component/MethodBindingValidator.java =================================================================== RCS file: /cvs/javaserverfaces-sources/jsf-api/src/javax/faces/component/MethodBindingValidator.java,v retrieving revision 1.2 diff -u -r1.2 MethodBindingValidator.java --- jsf-api/src/javax/faces/component/MethodBindingValidator.java 22 Aug 2005 22:07:53 -0000 1.2 +++ jsf-api/src/javax/faces/component/MethodBindingValidator.java 6 Jun 2006 17:58:01 -0000 @@ -198,6 +198,6 @@ if (loader == null) { loader = fallbackClass.getClass().getClassLoader(); } - return loader.loadClass(name); + return Class.forName(name, false, loader); } } Index: jsf-api/src/javax/faces/component/MethodBindingValueChangeListener.java =================================================================== RCS file: /cvs/javaserverfaces-sources/jsf-api/src/javax/faces/component/MethodBindingValueChangeListener.java,v retrieving revision 1.3 diff -u -r1.3 MethodBindingValueChangeListener.java --- jsf-api/src/javax/faces/component/MethodBindingValueChangeListener.java 5 Dec 2005 16:42:43 -0000 1.3 +++ jsf-api/src/javax/faces/component/MethodBindingValueChangeListener.java 6 Jun 2006 17:58:01 -0000 @@ -29,15 +29,12 @@ package javax.faces.component; -import javax.faces.event.ValueChangeListener; -import javax.faces.event.ValueChangeEvent; -import javax.faces.event.AbortProcessingException; - -import javax.faces.el.MethodBinding; -import javax.faces.el.EvaluationException; -import javax.faces.el.MethodNotFoundException; - import javax.faces.context.FacesContext; +import javax.faces.el.EvaluationException; +import javax.faces.el.MethodBinding; +import javax.faces.event.AbortProcessingException; +import javax.faces.event.ValueChangeEvent; +import javax.faces.event.ValueChangeListener; /** *

MethodBindingValueChangeListener is an {@link @@ -195,6 +192,6 @@ if (loader == null) { loader = fallbackClass.getClass().getClassLoader(); } - return loader.loadClass(name); + return Class.forName(name, false, loader); } } Index: jsf-api/src/javax/faces/component/StateHolderSaver.java =================================================================== RCS file: /cvs/javaserverfaces-sources/jsf-api/src/javax/faces/component/StateHolderSaver.java,v retrieving revision 1.12 diff -u -r1.12 StateHolderSaver.java --- jsf-api/src/javax/faces/component/StateHolderSaver.java 22 Aug 2005 22:07:54 -0000 1.12 +++ jsf-api/src/javax/faces/component/StateHolderSaver.java 6 Jun 2006 17:58:01 -0000 @@ -29,10 +29,10 @@ package javax.faces.component; -import java.io.Serializable; - import javax.faces.context.FacesContext; +import java.io.Serializable; + /** *

Helper class for saving and restoring attached objects.

*/ @@ -119,6 +119,6 @@ if (loader == null) { loader = fallbackClass.getClass().getClassLoader(); } - return loader.loadClass(name); + return Class.forName(name, false, loader); } } Index: jsf-ri/src/com/sun/faces/util/Util.java =================================================================== RCS file: /cvs/javaserverfaces-sources/jsf-ri/src/com/sun/faces/util/Util.java,v retrieving revision 1.193 diff -u -r1.193 Util.java --- jsf-ri/src/com/sun/faces/util/Util.java 26 May 2006 01:10:37 -0000 1.193 +++ jsf-ri/src/com/sun/faces/util/Util.java 6 Jun 2006 17:58:02 -0000 @@ -182,7 +182,7 @@ Object fallbackClass) throws ClassNotFoundException { ClassLoader loader = Util.getCurrentLoader(fallbackClass); - return loader.loadClass(name); + return Class.forName(name, false, loader); }