Uploaded image for project: 'Ratis'
  1. Ratis
  2. RATIS-639

Inconsistent pattern for variable names

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 1.0.0
    • examples
    • None

    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

          Activity

            People

              adoroszlai Attila Doroszlai
              adoroszlai Attila Doroszlai
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m