You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "freish (JIRA)" <ji...@apache.org> on 2012/05/11 14:39:49 UTC

[jira] [Closed] (JEXL-132) divide zero error and others

     [ https://issues.apache.org/jira/browse/JEXL-132?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

freish closed JEXL-132.
-----------------------

    Resolution: Not A Problem
    
> divide zero error and others
> ----------------------------
>
>                 Key: JEXL-132
>                 URL: https://issues.apache.org/jira/browse/JEXL-132
>             Project: Commons JEXL
>          Issue Type: Bug
>    Affects Versions: 2.1.1
>         Environment: JEXL2.1.1 jdk1.5.0_22
>            Reporter: freish
>              Labels: jexl
>
> code snippet:
> 		String exp;
> 		Expression expression;
> 		JexlEngine engine = new JexlEngine();
> 		
> 		exp = "1/0";
> 		expression = engine.createExpression(exp);
> 		System.out.println(expression.evaluate(null));
> this will print 0.0,shoud it indicate an error by throwing exception or return value?
> ----------------------------------------------
> code snippet:
> 		exp = "1/0.0";
> 		expression = engine.createExpression(exp);
> 		System.out.println(expression.evaluate(null));
> this will print 0.0 too,but in fact it should return Infinity.
> ----------------------------------------------
> code snippet:
> 		exp = "Math.abs(-1)";
> 		expression = engine.createExpression(exp);
> 		System.out.println(expression.evaluate(null));
> I don't know whether this is a bug.JEXL cannot invoke java static method directly,it will throw an exception
> ----------------------------------------------
> code snippet:
> 		exp = "a.abs(-1)";
> 		class MyMath {
> 			public double abs(double d) {
> 				return Math.abs(d);
> 			} 
> 		}
> 		Object obj = new MyMath();
> 		expression = engine.createExpression(exp);
> 		MapContext c = new MapContext();
> 		c.set("a", obj);
> 		System.out.println(expression.evaluate(c));
> er,this is very strange,if MyMath is not public(whether in a independent file or not),it will return null;but if MyMath is a public class,it will behave correctly

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira