I suppose this is a case for java.util.Objects.equals(). Mind, this is Java 1.7 but you can use the source (in another pacakge) with older versions.
Also, com.google.common.base.Objects has a similar equal() method. -W On 03/07/2012, rogelio_sevilla1 <rogelio.sevil...@gmail.com> wrote: > Good day everyone: > > Sorry if this is a too basic question. > > I'm having a recurrent problem on my rules and I still don't know how to > really solve it, I searched here at the forum but I'm not so sure that the > solutions proposed would work for my use case. > > I have to call many different methods on the LHS of some of my rules so I > insert a global 'utils' object and I make my calls within eval() blocks, > like this: > > $myObj1: ClassX (eval(globalUtil.reSupplyNeeded(amount) )) > > > Everything works fine for now. I wrapped all my util methods within try > catch blocks to avoid screwing up my stateful session (in my use case, is > CRITICAL to keep the session alive). So, if an exception is thrown, I > return > false or true depending on the method. > > > My main problem is with evals where I do comparisons like this one: > > eval($myObj1.doSomething()==$myObj2.doSomething()) > > I have many of these and some times I get an annoying NPE. I know I could > add !=null comparisons but my rules would grow considerably. eval is > extremely useful so I was wondering if I can call it from my utility class, > something like this: > > > On my Drl file: > > rule "eval called from here and utility class" > when > $someObj1 : ClassX() > $someObj2 : ClassY() > $myObj : Class1( eval( > globalUtil.doEval($someObj1.doSomething()==$someObj2.doSomething() ) ) ) > then > ...bla bla bla > end > > > On my Utility Class > > public boolean doEval(ClassIDontKnow argument){ > > try{ > //I don't know if this even exists, just asking if it's possible > return Drools.eval(argument); > } > catch(Exception e){ > logger.error("Something bad happened!!"); > return false; > } > > } > > > > Is something like this even possible?? , if not, other approach that you > would recommend me?? > > > Thanks a lot in advance :-) > > > > > > > > > > > > > > > > > -- > View this message in context: > http://drools.46999.n3.nabble.com/eval-call-from-java-code-tp4018398.html > Sent from the Drools: User forum mailing list archive at Nabble.com. > _______________________________________________ > 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