| Summary: | Guided Decision Tables: Construction of DRL for "otherwise" values includes empty String | ||
|---|---|---|---|
| Product: | [Retired] JBoss BRMS Platform 6 | Reporter: | manstis |
| Component: | Business Central | Assignee: | manstis |
| Status: | CLOSED EOL | QA Contact: | Jiri Locker <jlocker> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | high | ||
| Version: | 6.3.0 | CC: | etirelli, rrajasek, sandor.irlanda |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2020-03-27 19:42:45 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
Rajesh, this is fixed in master. Not sure if we should include this in CR1 or in 6.3.1 patch. I asked Michael for additional clarification. Edson, Rajesh, it's an edge case, specific to when Users try to use "otherwise" (e.g. Person.age==20 || 30 || 40; and then another rule for when Person.age is anything else). The fix was however trival, low risk and has test coverage. I confirming this error, but extend it also: In the demo application i changed the Pricing loans.gdst through kie workbench by adding an extra row of "0, 9999, <otherwise>, 2000, <otherwise>, false, 0, 1". With this row I get a validation error: [ERR 101] Line 31:93 no viable alternative at input ')' in rule "Row 3 Pricing loans" And the problem is the superfluous comma in "lengthYears not in ( 30, 20, )" expression. Sandor, BRMS issue tracking has been migrated to JIRA. Please add this comment to https://issues.jboss.org/browse/RHBRMS-574 or file a new issue. |
Description of problem: Columns with "otherwise" cells generate DRL including the "otherwise" cell; manifesting itself as an empty String in the DRL. For example 'Person( name not in ( "Mike", "Mark", "" ) )'. This is caused by marshalling of the Decision Table model from client to server where the default constructor for DTCellValue52 sets the cell's value to an empty String. Version-Release number of selected component (if applicable): 6.4.0.Final (Community); 6.3.x (Product) How reproducible: Steps to Reproduce: 1. Create a Guided Decision Table 2. Add a Condition column for a String field 3. Set operator to "==" 4. Add at least 2 rows 5. Set the cell of the column, row 1 to "a" 6. Set the cell of the column, row 2 to <otherwise> 7. View source Actual results: DRL like 'Person( name not in ("a", "") )' is generated. The empty String is erroneous. Expected results: DRL like 'Person( name not in ("a") )' is generated.