You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2010/03/10 11:08:09 UTC
svn commit: r921276 -
/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/util/ReflectionUtil.java
Author: werpu
Date: Wed Mar 10 10:08:09 2010
New Revision: 921276
URL: http://svn.apache.org/viewvc?rev=921276&view=rev
Log:
https://issues.apache.org/jira/browse/MYFACES-2596
quick fix for the issue but in the end this needs to be unified under share, our version has the better classloader resolution, the facelet version has primitives and array type resolution
Modified:
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/util/ReflectionUtil.java
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/util/ReflectionUtil.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/util/ReflectionUtil.java?rev=921276&r1=921275&r2=921276&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/util/ReflectionUtil.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/util/ReflectionUtil.java Wed Mar 10 10:08:09 2010
@@ -21,6 +21,7 @@ package org.apache.myfaces.view.facelets
import java.lang.reflect.Array;
import java.util.Arrays;
+import org.apache.myfaces.shared_impl.util.ClassLoaderUtils;
import org.apache.myfaces.shared_impl.util.ClassUtils;
public class ReflectionUtil
@@ -55,12 +56,17 @@ public class ReflectionUtil
if (name.endsWith("[]"))
{
String nc = name.substring(0, name.length() - 2);
- c = Class.forName(nc, false, ClassUtils.getContextClassLoader());
+ //we should route through our shared forName, due to plugins and due to bette4r classloader resolution
+ c = ClassUtils.classForName(nc);
+ //old code left for double checking
+ //c = Class.forName(nc, false, ClassUtils.getContextClassLoader());
c = Array.newInstance(c, 0).getClass();
}
else
{
- c = Class.forName(name, false, ClassUtils.getContextClassLoader());
+ c = ClassUtils.classForName(name);
+ //old code left for double checking
+ //c = Class.forName(name, false, ClassUtils.getContextClassLoader());
}
}