[
https://issues.jboss.org/browse/DROOLS-319?page=com.atlassian.jira.plugin...
]
David Tombs updated DROOLS-319:
-------------------------------
Description:
Steps to reproduce:
# Create a decision table with something like {{fooString != ""}} in the
constraint and {{true}} in the rule cell.
# Execute the rule against a few objects.
Actual Result:
An internal Drools thread will crash with {{java.lang.RuntimeException: Unknown boolean
operator}} when trying to compile {{fooString != "" == true}}.
{noformat}
Exception in thread "Thread-15" java.lang.RuntimeException: Unknown boolean
operator
at
org.drools.rule.constraint.ConditionAnalyzer$AritmeticOperator.fromMvelOpCode(ConditionAnalyzer.java:1059)
at org.drools.rule.constraint.ConditionAnalyzer.analyzeNode(ConditionAnalyzer.java:169)
at
org.drools.rule.constraint.ConditionAnalyzer.analyzeSingleCondition(ConditionAnalyzer.java:106)
at
org.drools.rule.constraint.ConditionAnalyzer.analyzeCondition(ConditionAnalyzer.java:99)
at
org.drools.rule.constraint.ConditionAnalyzer.analyzeCondition(ConditionAnalyzer.java:70)
at
org.drools.rule.constraint.MvelConditionEvaluator.getAnalyzedCondition(MvelConditionEvaluator.java:83)
at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:270)
at org.drools.rule.constraint.MvelConstraint.access$200(MvelConstraint.java:51)
at
org.drools.rule.constraint.MvelConstraint$ConditionJitter.run(MvelConstraint.java:250)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
{noformat}
Expected Result:
Even if an Exception is thrown, the currently-thrown exception is too low level and took
me lots of investigation and debugging inside the drools code to figure out what I did
wrong.
was:
Steps to reproduce:
# Create a decision table with something like {{fooString != ""}} in the
constraint and {{true}} in the rule cell.
# Execute the rule against a few objects.
Actual Result:
An internal Drools thread will crash with {{java.lang.RuntimeException: Unknown boolean
operator}} when trying to compile {{fooString != "" == true}}.
{{
Exception in thread "Thread-15" java.lang.RuntimeException: Unknown boolean
operator
at
org.drools.rule.constraint.ConditionAnalyzer$AritmeticOperator.fromMvelOpCode(ConditionAnalyzer.java:1059)
at org.drools.rule.constraint.ConditionAnalyzer.analyzeNode(ConditionAnalyzer.java:169)
at
org.drools.rule.constraint.ConditionAnalyzer.analyzeSingleCondition(ConditionAnalyzer.java:106)
at
org.drools.rule.constraint.ConditionAnalyzer.analyzeCondition(ConditionAnalyzer.java:99)
at
org.drools.rule.constraint.ConditionAnalyzer.analyzeCondition(ConditionAnalyzer.java:70)
at
org.drools.rule.constraint.MvelConditionEvaluator.getAnalyzedCondition(MvelConditionEvaluator.java:83)
at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:270)
at org.drools.rule.constraint.MvelConstraint.access$200(MvelConstraint.java:51)
at
org.drools.rule.constraint.MvelConstraint$ConditionJitter.run(MvelConstraint.java:250)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
}}
Expected Result:
Even if an Exception is thrown, the currently-thrown exception is too low level and took
me lots of investigation and debugging inside the drools code to figure out what I did
wrong.
"Unknown boolean operator" RuntimeException
-------------------------------------------
Key: DROOLS-319
URL:
https://issues.jboss.org/browse/DROOLS-319
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 5.5.0.Final
Environment: Windows 8, java version "1.7.0_40"
Reporter: David Tombs
Assignee: Mark Proctor
Steps to reproduce:
# Create a decision table with something like {{fooString != ""}} in the
constraint and {{true}} in the rule cell.
# Execute the rule against a few objects.
Actual Result:
An internal Drools thread will crash with {{java.lang.RuntimeException: Unknown boolean
operator}} when trying to compile {{fooString != "" == true}}.
{noformat}
Exception in thread "Thread-15" java.lang.RuntimeException: Unknown boolean
operator
at
org.drools.rule.constraint.ConditionAnalyzer$AritmeticOperator.fromMvelOpCode(ConditionAnalyzer.java:1059)
at org.drools.rule.constraint.ConditionAnalyzer.analyzeNode(ConditionAnalyzer.java:169)
at
org.drools.rule.constraint.ConditionAnalyzer.analyzeSingleCondition(ConditionAnalyzer.java:106)
at
org.drools.rule.constraint.ConditionAnalyzer.analyzeCondition(ConditionAnalyzer.java:99)
at
org.drools.rule.constraint.ConditionAnalyzer.analyzeCondition(ConditionAnalyzer.java:70)
at
org.drools.rule.constraint.MvelConditionEvaluator.getAnalyzedCondition(MvelConditionEvaluator.java:83)
at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:270)
at org.drools.rule.constraint.MvelConstraint.access$200(MvelConstraint.java:51)
at
org.drools.rule.constraint.MvelConstraint$ConditionJitter.run(MvelConstraint.java:250)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
{noformat}
Expected Result:
Even if an Exception is thrown, the currently-thrown exception is too low level and took
me lots of investigation and debugging inside the drools code to figure out what I did
wrong.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira