You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by di...@apache.org on 2006/04/04 03:13:24 UTC
svn commit: r391207 - in /jakarta/commons/proper/jexl/trunk/src:
java/org/apache/commons/jexl/util/introspection/UberspectImpl.java
test/org/apache/commons/jexl/JexlTest.java
Author: dion
Date: Mon Apr 3 18:13:22 2006
New Revision: 391207
URL: http://svn.apache.org/viewcvs?rev=391207&view=rev
Log:
Allow static methods to be executed on classes, e.g.
if the context contains: Boolean.class as 'variable',
variable.valueOf('true') should work.
Modified:
jakarta/commons/proper/jexl/trunk/src/java/org/apache/commons/jexl/util/introspection/UberspectImpl.java
jakarta/commons/proper/jexl/trunk/src/test/org/apache/commons/jexl/JexlTest.java
Modified: jakarta/commons/proper/jexl/trunk/src/java/org/apache/commons/jexl/util/introspection/UberspectImpl.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jexl/trunk/src/java/org/apache/commons/jexl/util/introspection/UberspectImpl.java?rev=391207&r1=391206&r2=391207&view=diff
==============================================================================
--- jakarta/commons/proper/jexl/trunk/src/java/org/apache/commons/jexl/util/introspection/UberspectImpl.java (original)
+++ jakarta/commons/proper/jexl/trunk/src/java/org/apache/commons/jexl/util/introspection/UberspectImpl.java Mon Apr 3 18:13:22 2006
@@ -135,6 +135,9 @@
return null;
Method m = introspector.getMethod(obj.getClass(), methodName, args);
+ if (m == null && obj instanceof Class) {
+ m = introspector.getMethod((Class) obj, methodName, args);
+ }
return (m == null) ? null : new VelMethodImpl(m);
}
Modified: jakarta/commons/proper/jexl/trunk/src/test/org/apache/commons/jexl/JexlTest.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jexl/trunk/src/test/org/apache/commons/jexl/JexlTest.java?rev=391207&r1=391206&r2=391207&view=diff
==============================================================================
--- jakarta/commons/proper/jexl/trunk/src/test/org/apache/commons/jexl/JexlTest.java (original)
+++ jakarta/commons/proper/jexl/trunk/src/test/org/apache/commons/jexl/JexlTest.java Mon Apr 3 18:13:22 2006
@@ -855,6 +855,14 @@
assertExpression(jc, "aBool.valueOf('true')", Boolean.TRUE);
}
+ public void testStaticMethodInvocationOnClasses() throws Exception
+ {
+ JexlContext jc = JexlHelper.createContext();
+ jc.getVars().put("Boolean", Boolean.class);
+ assertExpression(jc, "Boolean.valueOf('true')", Boolean.TRUE);
+
+ }
+
/**
* Make sure bad syntax throws ParseException
* @throws Exception on errors
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org