[rules-users] Is rule introspection available from the Drools API?

Mark Proctor mproctor at codehaus.org
Mon Jan 6 09:05:33 EST 2014


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




More information about the rules-users mailing list