2010/10/7 Dean Whisnant <[email protected]> > 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 > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users > >
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
