Description
Numbers are allowed in variable names, but such variables cannot be used in expressions:
$ client.sh arithmetic assign --name v1 --value 1 $ client.sh arithmetic assign --name v2 --value 2 $ client.sh arithmetic assign --name v3 --value "v1+v2" ... Exception in thread "main" java.lang.IllegalArgumentException: Invalid expression v1 Try something like: 'a+b' or '2' at org.apache.ratis.examples.arithmetic.cli.Assign.createExpression(Assign.java:73) at org.apache.ratis.examples.arithmetic.cli.Assign.createBinaryExpression(Assign.java:87) at org.apache.ratis.examples.arithmetic.cli.Assign.createExpression(Assign.java:69) at org.apache.ratis.examples.arithmetic.cli.Assign.operation(Assign.java:53) at org.apache.ratis.examples.arithmetic.cli.Client.run(Client.java:51) at org.apache.ratis.examples.common.Runner.main(Runner.java:67)
Similarly, values like 0 and 0.1 cannot be used in expressions:
$ client.sh arithmetic assign --name b --value '0.1+1' ... IllegalArgumentException: Invalid expression 0.1+1 Try something like: 'a+b' or '2' $ client.sh arithmetic assign --name b --value '0+1' ... 'IllegalArgumentException: Invalid expression 0+1 Try something like: 'a+b' or '2'
Also, negative values result in exception:
$ client.sh arithmetic assign --name a --value '-5' Exception in thread "main" java.lang.NumberFormatException: empty String at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1842) at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110) at java.lang.Double.parseDouble(Double.java:538) at java.lang.Double.valueOf(Double.java:502) at org.apache.ratis.examples.arithmetic.cli.Assign.createExpression(Assign.java:61) at org.apache.ratis.examples.arithmetic.cli.Assign.createBinaryExpression(Assign.java:87) at org.apache.ratis.examples.arithmetic.cli.Assign.createExpression(Assign.java:69) at org.apache.ratis.examples.arithmetic.cli.Assign.operation(Assign.java:53) at org.apache.ratis.examples.arithmetic.cli.Client.run(Client.java:51) at org.apache.ratis.examples.common.Runner.main(Runner.java:67)
Attachments
Issue Links
- links to