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