[rules-dev] Conversion Error in DRL file
Nico ROEDERER
ino.nicolas at gmail.com
Fri Feb 11 03:21:01 EST 2011
Yeah, temperatureCritique is greater than temperatureElevee
Here's my PatientDto constructor :
("temperature" is one of the "caracteristique" of the HashMap...)
public PatientDto( long pNum, String pNom, HashMap<String, String> pMap ) {
setNumPatient( pNum );
setNomPatient( pNom );
setCaracteristique( pMap );
}
In a properties file :
valeur.verifTemperature.elevee = 37
valeur.verifTemperature.critique = 40
In my 'RunRules.java' :
vSession.setGlobal( "temperatureElevee", Integer.parseInt(
vProp.getProperty( "valeur.verifTemperature.elevee" )
) );
vSession.setGlobal( "temperatureCritique", Integer.parseInt(
vProp.getProperty( "valeur.verifTemperature.critique"
) ) );
( vProp.getProperty( "valeur.verifTemperature.elevee" ) return 37 and
vProp.getProperty( "valeur.verifTemperature.critique" ) return 40)
I don't know what's wrong....
Thanks for the help.
Le 10/02/2011 19:38, Wolfgang Laun a écrit :
> How, exactly, do you set the globals and how do you create the
> PatientDTO fact?
>
> If the temperature is higher than temperatureCritique >=
> temperatureElevee, both rules will fire.
>
> -W
>
> On 10 February 2011 16:00, ino.nicolas <ino.nicolas at gmail.com
> <mailto:ino.nicolas at gmail.com>> wrote:
>
>
> Hi. I've got a trouble in a drl file.
> Here's my file :
>
> #created on: 9 févr. 2011
> package regles
>
> # import
> import com.compagny.rules.metier.dto.PatientDto;
>
> # global variables
> global Integer surPoids;
> global Integer diffTaille;
> global Integer temperatureElevee;
> global Integer temperatureCritique;
> global Integer tropGrand;
>
> rule "1- aTraiterUrgent"
> when
> $patient : PatientDto()
> eval( $patient.getDoubleValue("temperature") >
> temperatureCritique )
> then
> $patient.addCommentaire( " Le patient " +
> $patient.getNomPatient() + " est
> à traiter d'URGENCE. " );
> end
>
> rule "2- estFievreux"
> when
> $patient : PatientDto()
> eval( $patient.getDoubleValue("temperature") >
> temperatureElevee.doubleValue() )
> then
> $patient.addCommentaire(
> $patient.getDoubleValue("temperature") +
> " - Le patient " + $patient.getNomPatient()
> + " est fievreux. " );
> end
>
>
> The both rules are nearly the same. Except the comparator (
> temperatureCritique and temperatureElevee).
> My problem :
> - If I put the '.doubleValue()' to the both rule, the second rule
> will never
> be launched.
> - If I don't put the '.doubleValue()' in the first and the second
> rule, the
> second rule will never be launched.
> - If I put the '.doubleValue()' in one of the two rules (never
> mind if it's
> in the first or second one), both of the rules are launched.
>
> I don't know what I did wrong...
> Could you please help me ?
>
> --
> View this message in context:
> http://drools-java-rules-engine.46999.n3.nabble.com/Conversion-Error-in-DRL-file-tp2466448p2466448.html
> Sent from the Drools - Dev mailing list archive at Nabble.com.
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org <mailto:rules-dev at lists.jboss.org>
> https://lists.jboss.org/mailman/listinfo/rules-dev
>
>
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-dev/attachments/20110211/55cea86f/attachment.html
More information about the rules-dev
mailing list