<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
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>&nbsp;&nbsp;&nbsp; SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");<br>&nbsp;&nbsp;&nbsp; return sdf.parse(pStrDate) ;<br>}<br><br>template "tarification_produit"<br><br>rule "Periode@{row.rowNumber}"<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $p : Produit(id == 1, eval( dDeb.before( getDate("@{ddeb}") ) ) )<br>&nbsp;&nbsp;&nbsp; then<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $p.setId(2) ; <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $p.setPrix(@{prix}) ;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; update( $p );&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>end<br>end template<br><br><br>I modified an example provided with Drools but encounter the following exception:<br><br>Exception in thread "main" org.drools.RuntimeDroolsException: Exception executing predicate com.tarification.Rule_Periode2_0Predicate0Invoker@2110b61d<br>&nbsp;&nbsp;&nbsp; at org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:279)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:143)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:42)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:147)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:42)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:185)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:146)<br>&nbsp;&nbsp;&nbsp; at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1046)<br>&nbsp;&nbsp;&nbsp; at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1001)<br>&nbsp;&nbsp;&nbsp; at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:788)<br>&nbsp;&nbsp;&nbsp; at tarification.TestTemplate.executeExample(TestTemplate.java:49)<br>&nbsp;&nbsp;&nbsp; at tarification.TestTemplate.main(TestTemplate.java:26)<br>Caused by: java.lang.NullPointerException<br>&nbsp;&nbsp;&nbsp; at com.tarification.Rule_Periode2_0.predicate0(Rule_Periode2_0.java:9)<br>&nbsp;&nbsp;&nbsp; at com.tarification.Rule_Periode2_0Predicate0Invoker.evaluate(Rule_Periode2_0Predicate0Invoker.java:23)<br>&nbsp;&nbsp;&nbsp; at org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:272)<br>&nbsp;&nbsp;&nbsp; ... 11 more<br><br>I am puzzle because when I copy the drl generated string in a drl file, everything works fine.<br><br>Any idea ? Thank you in advance.<br><br>Regards,<br>Benoît<br><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>