[rules-users] Is rule introspection available from the Drools API?
Stephen Masters
stephen.masters at me.com
Tue Jan 7 05:08:39 EST 2014
It may also be worth explaining exactly what you aim to achieve through this and why. From what I have seen, most people who ask about introspecting the LHS of rules via the API, don’t actually need to do that.
Steve
On 7 Jan 2014, at 08:56, Wolfgang Laun <wolfgang.laun at gmail.com> wrote:
> Hi,
>
> while you continue this line of research you might consider possible
> ramifications and snags, and be prepared for them.
>
> The syntax for writing LHS conditions is quite complex - it's more
> complex than Java expressions, because the CE eval() alone will give
> you (almost) all of that. Rule authors may also use DRL functions,
> which could hide field access.
>
> If *you* author the rules, you may be able to avoid the worst, but it
> won't be a piece of cake.
>
> Cheers
> -W
>
>
>
> On 07/01/2014, milen igrachev <igrachev at abv.bg> wrote:
>> Hello thanks for the quick and precise answer!
>> I believe that the time difference will be a bit of a problem for the IRC
>> chat , but i will be online (channel: #drools user: igrachev) today and will
>> try to check it often. However big thanks for the support and the
>> willingness to help!
>> You are saying that the code is there, but is not public and documented.
>> Well being not public seems to be a problem, but do you think it is
>> possible to give me an example with the official Drools "first rule" -
>> Sample.drl. The one that comes with the first Drools project. So do you
>> believe it will be possible to paste me some code on how to retrieve the
>> information that this ruleset is using one fact of type Message and two of
>> it's attributes - status and message. So just some code in a public
>> static void main (String [] args) will be great :), or any kind of
>> explanation :).
>> Once again thank you.
>> Have a nice day,
>> Milen
>>
>>
>>
>> ----Original Letter----
>> From: Mark Proctor mproctor at codehaus.org
>>
>> About: Re: [rules-users] Is rule introspection available from the Drools
>> API?
>>
>> To: Rules Users List
>>
>> Sent at: Monday, 2014, January 6 16:05:33 EET
>>
>>
>> The code is there, but it’s not public and not documented, and the code can
>> be a little hard to understand - as it’s grown organically over the years.
>>
>>
>>
>> You’ll need to cast and unwrap and look at member vars. Start on the Rule
>> and the lhs variable. You can always pop onto irc, with live questions,and
>> we’ll try and respond quickly.
>>
>> http://www.jboss.org/drools/irc
>>
>>
>>
>> Mark
>>
>>
>>
>> On 6 Jan 2014, at 09:51, milen igrachev igrachev at abv.bg > wrote:
>>
>>
>>
>>> Hello,
>>
>>> is there a way to introspect a Drools file from within java code?
>>
>>> What I need is to be able to identify the facts and the fact attributes
>>> that are used in a given DRL file.
>>
>>>
>>
>>> For example if I have a rule stored in a customer.drl DRL file within my
>>> project, containing the following definition:
>>
>>> package myRulePackage
>>
>>>
>>
>>> import org.rules.model.Customer
>>
>>> import org.rules.model.Mambership
>>
>>>
>>
>>> rule "is eligible customer"
>>
>>> when
>>
>>> $c:Customer(status == "active")
>>
>>> Membership(customer == $c, type == "premium")
>>
>>> then
>>
>>> $c.setEligibilityStatus(true);
>>
>>> end
>>
>>>
>>
>>> What i need is a way to understand that this ruleset customer.drl is using
>>> two fact types - Customer and Membership and three of their attributes -
>>> Customer.status, Membership.customer and Membership.type.
>>
>>>
>>
>>>
>>
>>> I found some information on the internet that such functionality is not
>>> supported, however the information was a bit too old, so I decided to ask
>>> again.
>>
>>>
>>
>>>
>>
>>> Big thanks for the support!
>>
>>> Milen
>>
>>> _______________________________________________
>>
>>> rules-users mailing list
>>
>>> rules-users at lists.jboss.org
>>
>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>>
>>
>>
>> _______________________________________________
>>
>> rules-users mailing list
>>
>> rules-users at lists.jboss.org
>>
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140107/56ca024d/attachment.html
More information about the rules-users
mailing list