Hi there, Thanks for replying. I will try to explain my current challenge a bit further:
I have a ruleset which is sent by an external application in XML format. I load it to a new knowledge package and then into a knowlegde base. It is made of smaller subsets of 3 rules each (a "set" rule, a "reset" rule and a "clear" rule) that control my application's internal logic, which must be stateful and kept on disk (basically, there are 2 important hashmaps). Whenever the rules change, a new XML ruleset is sent and my application restarts and loads the new file the exact same way. However, I need to resume the application state (as it was before the restart). I also have to do this selectively, because I only care about the application state on a per-rule basis: - If a rule keeps the same LHS, I need to resume the application state before restart regarding that rule; - If a rule has been modified, I may discard the state regarding that rule (do not need to load it); I don't think I can refactor this problem into smaller ones, the application internal logic is indeed complex I'm afraid. The rules are analyzed in a stateless way BUT they control a set of critical information which must be stateful (beyond restarts). There is a (not-so-direct) correspondence between each (fire, reset, clear) rule subset and the information that keeps track of the internal state, so that's why I need to verify rule-by-rule what has changed between restarts. I hope this helps to describe the problem. Thanks again for reading. Any help is greatly appreciated. _ miguel, PT 2011/8/26 Swindells, Thomas <tswinde...@nds.com> > Can you share what you actual requirement is and why you need to do it?** > ** > > Can you perhaps change the problem into one that is simpler to solve?**** > > Ie rather than comparing knowledge bases can you get the input to these > knowledgebases?**** > > Can you control what that input is, if it is a DSL or a spreadsheet then > your comparision job will probably become a lot simpler.**** > > ** ** > > Thomas**** > > ** ** > > *From:* rules-users-boun...@lists.jboss.org [mailto: > rules-users-boun...@lists.jboss.org] *On Behalf Of *miguel machado > *Sent:* 26 August 2011 13:01 > *To:* Rules Users List > *Subject:* Re: [rules-users] Rule one-by-one comparison**** > > ** ** > > Esteban,**** > > ** ** > > Thank you very much for that. I will look into it.**** > > Any other ideas, anyone?**** > > ** ** > > _ miguel**** > > ** ** > > ** ** > > ** ** > > 2011/8/26 Esteban Aliverti <esteban.alive...@gmail.com>**** > > You can try to use drools-verifier. This project basically lets you define > rules about your rules. **** > > You can have a look at its tests to see how it works.**** > > You can get more info about drools-verifier here: > http://community.jboss.org/wiki/DroolsVerifier**** > > ** ** > > And here you can see how are we using drools-verifier inside Guvnor: > http://ilesteban.wordpress.com/2010/04/05/guvnors-field-constraints/ **** > > ** ** > > Best Regards,**** > > > XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX > > Esteban Aliverti > - Developer @ http://www.plugtree.com > - Blog @ http://ilesteban.wordpress.com > > **** > > 2011/8/26 miguel machado <mls.mach...@gmail.com>**** > > Hi there everybody, > **** > > ** ** > > I need to perform rule comparison on a project I'm working on using drools > expert 5.0. For a specific feature implementation, I have two different > knowledge bases with several rules which I need to compare, one by one. By > comparing, I mean "inspect" certain conditions within the LHS.**** > > ** ** > > Currently, I'm able to obtain several attributes from rules > (org.drools.rule.Rule), such as the agenda-group and the rule name and a few > others, but I haven't been able to do it all. Going deeper, there is > LiteralConstraint (for simple conditions) which I can parse and obtain data. > However, I don't know how to do it for OR-conditions, which I guess > represents a MultiRestrictionFieldConstraint. Perhaps there is another way? > **** > > ** ** > > I know this may seem like a very unorthodox thing to do, but I don't think > there is a better way of comparing knowledge packages (except for full text > comparison). Is there?**** > > ** ** > > Thanks in advance,**** > > _ miguel, PT**** > > ** ** > > ** ** > > -- **** > > "To understand what is recursion you must first understand recursion"**** > > ** ** > > ** ** > > _______________________________________________ > rules-users mailing list > rules-users@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users**** > > ** ** > > > _______________________________________________ > rules-users mailing list > rules-users@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users**** > > > > **** > > ** ** > > -- **** > > "To understand what is recursion you must first understand recursion"**** > > ** ** > > ------------------------------ > > > ************************************************************************************** > This message is confidential and intended only for the addressee. If you > have received this message in error, please immediately notify the > postmas...@nds.com and delete it from your system as well as any copies. > The content of e-mails as well as traffic data may be monitored by NDS for > employment and security purposes. To protect the environment please do not > print this e-mail unless necessary. > > NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18 > 4EX, United Kingdom. A company registered in England and Wales. Registered > no. 3080780. VAT no. GB 603 8808 40-00 > > ************************************************************************************** > > _______________________________________________ > rules-users mailing list > rules-users@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/rules-users > > -- "To understand what is recursion you must first understand recursion"
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users