Did you set the global in the WorkingMemory? You can do that using the API at
http://labs.jboss.com/file-access/default/members/jbossrules/freezone/docs/3.0.5/apidocs/index.html and yes that is for 3.0.5. I am sure there is an equivalent for the version that you are using. -Rahul --- Sanjay Singh - s0singh <[EMAIL PROTECTED]> wrote: > Since i could not get the earlier code running i > tried using eval in LHS > side for Dao calls but i keep on getting > NullPointerException .. > > rule "Item should have a valid status" > > when > > ItemVo (statusCode : itemStatusCode != null) > > eval( > !itemValidationDao.isValidItemStatus(statusCode) ) > > then > > errors.addValidationError("invalidtemStatusCode","Item > Status Code is > invalid "); > > end > > Exception data: org.drools.RuntimeDroolsException: > java.lang.NullPointerException > > at org.drools.rule.EvalCondition.isAllowed(Unknown > Source) > > at > org.drools.reteoo.EvalConditionNode.assertTuple(Unknown > Source) > > at > org.drools.reteoo.LeftInputAdapterNode.createAndAssertTuple(Unknown > Source) > > at > org.drools.reteoo.LeftInputAdapterNode.assertObject(Unknown > Source) > > at > org.drools.reteoo.ObjectSource.propagateAssertObject(Unknown > Source) > > Can somebody please help .. thanks > > ________________________________ > > From: Sanjay Singh - s0singh > Sent: Tuesday, April 03, 2007 11:01 AM > To: 'Anstis, Michael (M.)'; Rules Users List > Subject: RE: Hi. > > > > Thanks for getting back to me Mike and Edson and > Sorry for the delayed > response. > > I looked at your examples Mike and i felt better as > you said that we can > make dao calls in LHS .. And Edson suggested not to > be afraid of > suggesting the same constraint for more than one > rule .. i guess i was > looking at it more procedural way and dint want any > repetition of those > conditions as the top level IF block but looks like > it won't hurt to > mention these constraints in all the rules related > to this check ...so i > can include this check in all the rules .. hmm .. > > Here is a quick test i was trying to do for calling > the dao in LHS but > it fails .. what am i missing .. > > package com.walmart.itemfile.item.rules > > import com.walmart.itemfile.item.vo.ItemVo; > > import com.walmart.itemfile.item.dao.ItemDao; > > import > com.walmart.itemfile.item.dao.ItemValidationDao; > > import java.lang.String; > > global > com.walmart.itemfile.item.dao.ItemValidationDao > itemValidationDao; > > global com.walmart.itemfile.rules.ValidationErrorMap > errors; > > rule "Item should have a valid status" > > when > > ItemVo( statusCode : itemStatusCode != null) > > ItemVo( statusCode == true ) from > itemValidationDao.isValidItemStatus(statusCode) .. > my isValidItemStatus > method returns a boolean (not collection of codes) > and i need to check > if thats true than go to the RHS side .. is the line > in green even right > ... in any case it does not recognize > itemValidationDao to begin with in > LHS side .. RHS same call works .. > > then > > errors.addValidationError("nullItemStatusCode","Item > Status Code is > null"); > > System.out.println("Item Base Defaults Called" + > itemValidationDao.isValidItemStatus(statusCode)); > > System.out.println("Item Status Code is null"); > > end > > Caused by: org.drools.rule.InvalidRulePackage: > unknown:32:28 Unexpected > token 'itemValidationDao' > > > thanks for the help guys .. > > Sanjay > > ________________________________ > > From: Anstis, Michael (M.) > [mailto:[EMAIL PROTECTED] > Sent: Monday, March 26, 2007 8:57 AM > To: Rules Users List > Cc: Sanjay Singh - s0singh > Subject: RE: Hi. > > > Hi Sanjay, > > To firstly answer your questions (in my opinion): > 1. You can't do nested whens in the LHS but you can > do nested if / else > in the RHS (although you'd fore go the benefits of a > RETE-based > inference engine; but possible if you've got very > few rules and > facts...). I believe that there is work to have an > "otherwise" statement > for rule syntax, how progressed this is and how it > will work I don't > know - over to Mark and team?!? > 2. Yes, take a look at the "from" statement (new for > 3.1-M1, see > http://wiki.jboss.org/wiki/Wiki.jsp?page=3.1M1ReleaseNotes) > 3. Yes, take a look at rule-flow at > http://labs.jboss.com/portal/index.html?ctrl:cmd=render&ctrl:window=defa > ult.blog.PrjBlogPortletWindowDefaultBlog&project=jbossrules&from=1&link= > RuleFlow_%28Kris_Verlaenen%29#RuleFlow_%28Kris_Verlaenen%29 > (although I > don't know if this is complete if 3.1-M1 - I think > it's not). Although I > don't think your rules really need rule-flow; you > just need to identify > and isolate the patterns (IF's) that would cause > each "Do Something" to > be ran and create a rule for each - this has the > benefit of separating > each action into a separate rule making maintenance > a whole bunch > easier). > > Anyway, I'd try some rules like the following > examples (the rest are > based upon these):- > > Rule "Rule 1" > when > NewItem ( itemStatusCode == null) > then > //do something > end > > Rule "Rule 2" > when > $u : User( ) > $ni : NewItem ( $isc : itemStatusCode != null ) > not Codes ( codes contains $isc ) from > valDao.getValidItemStatusCodesForUser($u) > then > //Do something > end > > Rule "Rule 3" > when > === message truncated ===> _______________________________________________ > 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