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>-W<br><br><br><br><div class="gmail_quote">
2010/3/10 Bertrand Grottier <span dir="ltr"><<a href="mailto:b_grottier@hotmail.com">b_grottier@hotmail.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>
Here is the "drl generated string":<div class="im"><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 href="mailto:wolfgang.laun@gmail.com" target="_blank">wolfgang.laun@gmail.com</a><br>
> To: <a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>> Subject: Re: [rules-users] Template rules & eval<div><div></div><div class="h5"><br>> <br>> Can you post the "drl generated string" you are referring to?<br>
> -W<br>> <br>> 2010/3/10 Bertrand Grottier <<a href="mailto:b_grottier@hotmail.com" target="_blank">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 href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>> > <a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
> ><br>> ><br>> <br>> _______________________________________________<br>> rules-users mailing list<br>> <a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
> <a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>                                            <br></div></div><hr>Envie de naviguer sur Internet sans laisser de trace? <a href="http://clk.atdmt.com/FRM/go/207186970/direct/01/" target="_blank">La solution avec Internet Explorer 8</a></div>
<br>_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
<br></blockquote></div><br>