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

milen igrachev igrachev at abv.bg
Tue Jan 7 03:26:09 EST 2014


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 

 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140107/00ef9919/attachment.html 


More information about the rules-users mailing list