[rules-users] Guvnor LHS and RHS questions

Nicolas Héron nicolas.heron.java at gmail.com
Fri Oct 8 03:27:31 EDT 2010


2010/10/7 Dean Whisnant <dean at basys.com>

>  Hello,
>
>
>
> I’ve only been working with Drools for a little over a month or so now and
> I’ve begun integrating it into my application via Eclipse and creating DRL
> files.  The nature of this application is to take a data record from one
> file and create a new data record in another file.  This is done in a batch
> of any number of records, depending on the number of records sent to us in
> the first file. To accomplish this I have two classes, one representing each
> file, and I create and object for each of them, inserting them into the
> knowledge session and then fire the rule.
>
>
>
>                 ksession.insert(myObjectIn);
>
>                 ksession.insert(myObjectOut);
>
>                 ksession.fireAllRules();
>
>
>
> The first object has around 1,000 fields and the second has 250, so my
> class structure is quite broad.
>
>
>
> In a DRL file I have created the following rule:
>
>
>
> *rule* "Primary Diagnosis Code"
>
>      *when*
>
>            $ccl : anObjectIn(IncomingDiag1 != *null*)
>
>            $cdl  : anObjectOut()
>
>      *then*
>
>            $cdl.PrimaryDiag = $ccl.IncomingDiag1;
>
> *end*
>
>
>
> This rule fires great and the PrimaryDiag field in myObjectOut is updated
> with what iss in myObjectIn.IncomingDiag.  I can then write the object
> back out the the database fine.
>
>
>
> A requirement of my project is that I allow users (analysts) to create
> their own rules that are above and beyond those I might create in a .drl
> file. To do so we are looking to deploy Guvnor and let them use the Guided
> editor to create rules.  I’ve already loaded my fact models into Guvnor and
> have them available in the drop down conditions.
>
>
>
> The questions that are hitting me now are:
>
>
>
> 1)      On the LHS when I’ve chosen the fiels IncomingDiag the only
> options I have for conditions are “equal to”, “not equal to”, “matches”, and
> “sounds like”. I don’t see an option for null or notnull. If I were to
> choose “not equal to” I then have the options for Literal Values, New
> Formulas, or Expression Editor (which has none by default).  I haven’t seen
> any examples where someone is evaluating a field in Guvnor for being either
> “” or null.  How would one accomplish this?  The literal value does not
> allow you to leave it blank as in “” and if you type “” in it, the
>
source shows “”””.
>
> 2)      On the LHS, if I were to want to evaluate IncomingDiag1 ==
> IncomingDiag2 I don’t see a method except if I were to choose New Formula
> and type in the field name Incoming Diag2.  Is there another way that they
> could be prompted for the field choises again?
>
If you create a  bound variable, then you will see when you select the value
of the operateor a "bound variable" button. So that then you can select the
bound variable.

> 3)      On the RHS, when I go to add a new then, I’m prompted to choose
> only to either “insert fact anObjectIn” or to “logically insert fact
> anObjectIn” or to manually enter DRL logic.  Both of the inserts appear to
> create logic that would create a new object with the data in it:
>
>
>
> anObjectIn fact0 = new anObjectIn ();
>
> fact0. IncomingDiag1 ( 11 );
>
> insertLogical(fact0 );
>
>
>
>         But what I really want is something similar to my DRL from above.
> Am I missing something?  Or would this have to be a case where they would
> manually enter the DRL statement?
>
>
>
> Thank you!
>
>
>
> Dean Whisnant
>
> Senior Software Developer
>
> basys, inc.
>
> _______________________________________________
> 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/20101008/e0786180/attachment.html 


More information about the rules-users mailing list