Hi Matt,
Going by the below example I have come across a senario which seems like
a bug to me.
Here is my dsl
[condition][]{varname} is a Volume where {constraints}={varname} :
RawVolumeTs ( where {constraints} )
[condition][]where {attr} is "{value}"={attr} == "{value}"
[condition][]and {attr} is {value}=, {attr} == {value}
Now,
v1 is a Volume where status is "NV" and sourceId is 2
Translates to
v1 : RawVolumeTs (status == "NV", sourceId == 2 )
Only when I put an extra space after and. Otherwise the ending quote of
"NV" get cut-off resulting in
v1 : RawVolumeTs (status == "NV, sourceId == 2 )
Also
v1 is a Volume where status is "NV" and sourceId is 2 and volume is
1000
Give a totally incorrect drl
v1 : RawVolumeTs (status == "NV", sourceId == 2 and volume is 1000 )
Thanks
Pallav
-----Original Message-----
From: Shyam, Pallav (MSCIBARRA)
Sent: Wednesday, September 03, 2008 11:55 PM
To: 'Matt Geis'
Subject: RE: [rules-users] Variable assignment in DSL
Great. This is really exiting.
Thanks,
Pallav
-----Original Message-----
From: Matt Geis [mailto:mgeis@yahoo.com]
Sent: Wednesday, September 03, 2008 11:24 PM
To: rules-users(a)lists.jboss.org
Cc: Shyam, Pallav (MSCIBARRA)
Subject: Re: [rules-users] Variable assignment in DSL
how about changing the first line of your DSL map to...
[condition][]{varname} is a Volume where {constraints} = {varname} :
RawVolumeTs (where {constraints} )
That way, your DSL would read...
rule "RT(2) against FT(32)"
when
V1 is a Volume where status is "NA" and sourceId is "ABC"
V2 is a Volume where status is "NA" and sourceId is "XYZ"
then
end
and the resulting DRL would read...
rule "RT(2) against FT(32)"
when
V1 : RawVolumeTs (status == "NA", sourceId == "ABC")
V2 : RawVolumeTs (status == "NA", sourceId == "XYZ")
then
End
--------------------------------------------------------
NOTICE: If received in error, please destroy and notify sender. Sender does not intend to
waive confidentiality or privilege. Use of this email is prohibited when received in
error.
Show replies by date