<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
You are right, that was the problem !<br>Thank you very much for your help.<br>Regards,<br>Benoît<br><br><hr id="stopSpelling">Date: Wed, 10 Mar 2010 11:49:05 +0000<br>From: ejdiggins@gmail.com<br>To: rules-users@lists.jboss.org<br>Subject: Re: [rules-users] Template rules & eval<br><br><br>You're getting a NullPointer in the predicate... is dDeb null?<br><br>Enda<br><br><div class="ecxgmail_quote">2010/3/10 Wolfgang Laun <span dir="ltr"><<a>wolfgang.laun@gmail.com</a>></span><br>
<blockquote class="ecxgmail_quote" style="padding-left: 1ex;">All I can see is that the date string is the same in Periode1 and Periode2, so you must have the same date in lines 1 and 2, which won't work well, but is perhaps due to simplification? <br>
<div><div></div><div class="h5">-W<br><br><br><br><div class="ecxgmail_quote">
2010/3/10 Bertrand Grottier <span dir="ltr"><<a>b_grottier@hotmail.com</a>></span><br><blockquote class="ecxgmail_quote" style="padding-left: 1ex;">
<div>
Here is the "drl generated string":<div><br><br>package com.tarification<br>import java.util.Date ;<br>import tarification.Produit ;<br>import java.text.SimpleDateFormat;<br><br>function Date getDate(String pStrDate)<br>
{<br>    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");<br>    return sdf.parse(pStrDate) ;<br>}<br><br></div>rule "Periode2"<br>    when<br>        $p : Produit(id == 1, eval( dDeb.before( getDate("01/06/2010") ) ) )<br>
    then<br>        $p.setId(2) ; <br>        $p.setPrix(100) ;<br>        update( $p );        <br>end<br><br>rule "Periode1"<br>    when<br>        $p : Produit(id == 1, eval( dDeb.before( getDate("01/06/2010") ) ) )<br>
    then<br>        $p.setId(2) ; <br>        $p.setPrix(50) ;<br>        update( $p );        <br>end<br><br><br>> Date: Wed, 10 Mar 2010 11:41:36 +0100<br>> From: <a>wolfgang.laun@gmail.com</a><br>
> To: <a>rules-users@lists.jboss.org</a><br>> Subject: Re: [rules-users] Template rules & eval<div><div></div><div><br>> <br>> Can you post the "drl generated string" you are referring to?<br>
> -W<br>> <br>> 2010/3/10 Bertrand Grottier <<a>b_grottier@hotmail.com</a>>:<br>> > Hello,<br>> ><br>> > I want to use template rules. Here is my .drt file:<br>
> ><br>> > template header<br>> > ddeb<br>> > dfin<br>> > prix<br>> ><br>> > package com.tarification<br>> ><br>> > import java.util.Date ;<br>> ><br>> > import tarification.Produit ;<br>
> > import java.text.SimpleDateFormat;<br>> ><br>> > function Date getDate(String pStrDate)<br>> > {<br>> >     SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");<br>> >     return sdf.parse(pStrDate) ;<br>
> > }<br>> ><br>> > template "tarification_produit"<br>> ><br>> > rule "Periode@{row.rowNumber}"<br>> >     when<br>> >         $p : Produit(id == 1, eval( dDeb.before( getDate("@{ddeb}") ) ) )<br>
> >     then<br>> >         $p.setId(2) ;<br>> >         $p.setPrix(@{prix}) ;<br>> >         update( $p );<br>> > end<br>> > end template<br>> ><br>> ><br>> > I modified an example provided with Drools but encounter the following<br>
> > exception:<br>> ><br>> > Exception in thread "main" org.drools.RuntimeDroolsException: Exception<br>> > executing predicate<br>> > com.tarification.Rule_Periode2_0Predicate0Invoker@2110b61d<br>
> >     at<br>> > org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:279)<br>> >     at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:143)<br>> >     at<br>> > org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:42)<br>
> >     at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:147)<br>> >     at<br>> > org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:42)<br>> >     at<br>
> > org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:185)<br>> >     at<br>> > org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:146)<br>> >     at<br>> > org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1046)<br>
> >     at<br>> > org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1001)<br>> >     at<br>> > org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:788)<br>
> >     at tarification.TestTemplate.executeExample(TestTemplate.java:49)<br>> >     at tarification.TestTemplate.main(TestTemplate.java:26)<br>> > Caused by: java.lang.NullPointerException<br>> >     at com.tarification.Rule_Periode2_0.predicate0(Rule_Periode2_0.java:9)<br>
> >     at<br>> > com.tarification.Rule_Periode2_0Predicate0Invoker.evaluate(Rule_Periode2_0Predicate0Invoker.java:23)<br>> >     at<br>> > org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:272)<br>
> >     ... 11 more<br>> ><br>> > I am puzzle because when I copy the drl generated string in a drl file,<br>> > everything works fine.<br>> ><br>> > Any idea ? Thank you in advance.<br>
> ><br>> > Regards,<br>> > Benoît<br>> ><br>> ><br>> > ________________________________<br>> > Commander un cadeau en ligne discrètement? Voir la solution offerte par<br>> > Internet Explorer8<br>
> > _______________________________________________<br>> > rules-users mailing list<br>> > <a>rules-users@lists.jboss.org</a><br>> > <a>https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
> ><br>> ><br>> <br>> _______________________________________________<br>> rules-users mailing list<br>> <a>rules-users@lists.jboss.org</a><br>
> <a>https://lists.jboss.org/mailman/listinfo/rules-users</a><br>                                               <br></div></div><hr>Envie de naviguer sur Internet sans laisser de trace? <a>La solution avec Internet Explorer 8</a></div>
<br>_______________________________________________<br>
rules-users mailing list<br>
<a>rules-users@lists.jboss.org</a><br>
<a>https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
<br></blockquote></div><br>
</div></div><br>_______________________________________________<br>
rules-users mailing list<br>
<a>rules-users@lists.jboss.org</a><br>
<a>https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Enda J Diggins<br>                                               <br /><hr />Commander un cadeau en ligne discrètement? <a href='http://clk.atdmt.com/FRM/go/207186971/direct/01/' target='_new'>Voir la solution offerte par Internet Explorer8</a></body>
</html>