I'm using JBoos Drools 3.0. <br>I'm using Java 5<br><br>I have the following classes <br><br>package org.unlp.model;<br><br>import java.util.ArrayList;<br>import java.util.List;<br><br>/**<br>&nbsp;* @author Jvelilla<br>&nbsp;* <br>
&nbsp;*/<br>public class Curso {<br>&nbsp;&nbsp;&nbsp; ... <br>&nbsp;&nbsp;&nbsp; // describe el numero total de cuotas del curso<br>&nbsp;&nbsp;&nbsp; protected Integer cuotas;<br><br>&nbsp;&nbsp;&nbsp; // Un curso de postgrado tiene una lista de materias<br>&nbsp;&nbsp;&nbsp; protected List&lt;Materia&gt; materias;
<br><br>&nbsp;&nbsp;&nbsp; // ~ Constructors ================================================<br>&nbsp;&nbsp; ...<br>&nbsp;&nbsp;&nbsp; // ~ Methods ================================================<br>&nbsp;&nbsp;&nbsp; public void setCuotas(Integer cuotas) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.cuotas
 = cuotas;<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; ...<br><br>&nbsp;&nbsp;&nbsp; public Integer getCuotas() {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return cuotas;<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; ...<br>}<br><br><br>package org.unlp.model;<br><br>/**<br>* @author Jvelilla<br>* <br>*/<br>public class Estudiante extends Persona {
<br><br>&nbsp;&nbsp;&nbsp; // restriccion un estudiante solo se puede<br>&nbsp;&nbsp;&nbsp; // inscribir en un curso.<br>&nbsp;&nbsp;&nbsp; // ejemplo: Mg. en Ingenieria de Sotware<br><br>&nbsp;&nbsp;&nbsp; protected Curso inscripcion;<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; protected int cuotasPagas;<br>
&nbsp;&nbsp;&nbsp; //~ Methods&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ================================================<br>&nbsp;&nbsp;&nbsp; public void setInscripcion(Curso inscripcion) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.inscripcion = inscripcion;<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; public void setNumero(int numero) {
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.numero = numero;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;  <br>&nbsp;&nbsp;&nbsp; public void setCuotasPagas(int cuotas_pagas) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; this.cuotasPagas = cuotas_pagas;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; public Curso getInscripcion() {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return inscripcion;
<br>&nbsp;&nbsp;&nbsp; }<br><br><br>&nbsp;&nbsp;&nbsp; public int getCuotasPagas() {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return cuotasPagas;<br>&nbsp;&nbsp;&nbsp; }<br><br>}<br><br clear="all"><br>My Rule is <br><br><br><br>#created on: 13/08/2006<br>package org.unlp.model<br><br>#list any import classes here.
<br>import org.unlp.model.Estudiante;<br>#declare any global variables here<br><br>rule &quot;Descuento por pago al contado&quot;<br><br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; alumno : Estudiante (cuota : cuotasPagas, x: inscripcion -&gt; (
x.getCuotas().intValue() &gt; cuota.intValue() ) )<br>&nbsp;&nbsp;&nbsp; then <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println( &quot;El alumno: [&quot; + alumno.getNombre()+ &quot;] recibira un descuento por pago al contado del 25%&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 
System.out.println( &quot;La cantindad de cuotas es&nbsp; [&quot; + alumno.getCuotasPagas()+ &quot;] &quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>end<br><br>But I obtain the followin error<br><br>org.drools.RuntimeDroolsException: java.lang.NullPointerException
<br>&nbsp;&nbsp;&nbsp; at org.drools.rule.PredicateConstraint.isAllowed(Unknown Source)<br>&nbsp;&nbsp;&nbsp; at org.drools.common.BetaNodeBinder.isAllowed(Unknown Source)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.LeftInputAdapterNode.assertObject(Unknown Source)<br>
&nbsp;&nbsp;&nbsp; at org.drools.reteoo.ObjectSource.propagateAssertObject(Unknown Source)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.ObjectTypeNode.assertObject(Unknown Source)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.Rete.assertObject(Unknown Source)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.ReteooRuleBase.assertObject
(Unknown Source)<br>&nbsp;&nbsp;&nbsp; at org.drools.reteoo.ReteooWorkingMemory.doAssertObject(Unknown Source)<br>&nbsp;&nbsp;&nbsp; at org.drools.common.AbstractWorkingMemory.assertObject(Unknown Source)<br>&nbsp;&nbsp;&nbsp; at org.drools.common.AbstractWorkingMemory.assertObject
(Unknown Source)<br>&nbsp;&nbsp;&nbsp; at org.unlp.model.BusinessRulesTest.main(BusinessRulesTest.java:45)<br>Caused by: java.lang.NullPointerException<br>&nbsp;&nbsp;&nbsp; at org.unlp.model.Rule_Descuento_por_pago_al_contado_0Predicate0Invoker.evaluate
(Rule_Descuento_por_pago_al_contado_0Predicate0Invoker.java:13)<br>&nbsp;&nbsp;&nbsp; ... 11 more<br><br>What do you suggest I do ?<br><br>-- <br>&quot;Component design should be the Formula-1 racing of software engineering." <br>Bertrand Meyer