[jboss-jira] [JBoss JIRA] Commented: (JBRULES-1439) Property Name inconsistent on RHS
greywind (JIRA)
jira-events at lists.jboss.org
Wed Mar 12 03:42:58 EDT 2008
[ http://jira.jboss.com/jira/browse/JBRULES-1439?page=comments#action_12402358 ]
greywind commented on JBRULES-1439:
-----------------------------------
Just one more question. That means that in a Java consequence we cannot use Java Bean Property type Accessors. MVEL does allow just that. Would it be a valid feature enhancement to have Java Bean Property Accessors in the Java consequence?
> Property Name inconsistent on RHS
> ---------------------------------
>
> Key: JBRULES-1439
> URL: http://jira.jboss.com/jira/browse/JBRULES-1439
> Project: JBoss Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: Drl Parser/Builder
> Affects Versions: 4.0.4
> Reporter: greywind
> Assigned To: Mark Proctor
> Priority: Minor
>
> I apologize right from the start if this is a know thing, but I couldn't find it in the Documentation or the mailing Lists:
> public class Settlement
> {
> public String InstrumentType,InstrumentName;
> public String getInstrumentType() {
> return InstrumentType;
> }
> public void setInstrumentType(String instrumentType) {
> InstrumentType = instrumentType;
> }
> public String getInstrumentName() {
> return InstrumentName;
> }
> public void setInstrumentName(String instrumentName) {
> InstrumentName = instrumentName;
> }
> }
> The following Role leads to an error during compilation as the Property instrumentName can not be found on the RHS. in the LHS it is found:
> rule "TestEntity"
> //dialect "mvel"
> when
> $s : Settlement(instrumentType == "BOND", name : instrumentName)
>
> #conditions
> then
> System.out.println("Found: " + $s.instrumentName);
> end
> It seems that in the java dialect the LHS follows java bean notation (property start with lower case) on the RHS not. I have to specify the property with UpperCamelCase on RHS to make it work:
> rule "TestEntity"
> //dialect "mvel"
> when
> $s : Settlement(instrumentType == "BOND", name : instrumentName)
>
> #conditions
> then
> System.out.println("Found: " + $s.InstrumentName);
> end
> the MVEL dialect on the other hand handles this as expected. the property is LowerCamelCase on both sides:
> rule "TestEntity"
> dialect "mvel"
> when
> $s : Settlement(instrumentType == "BOND", name : instrumentName)
>
> #conditions
> then
> System.out.println("Found: " + $s.instrumentName);
> end
> I would expect that the java dialect should work the same way here, should it not?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list