[rules-users] Rules in App Server Error

Greg Barton greg_barton at yahoo.com
Fri Dec 3 19:25:40 EST 2010


You made the same error in three other places.  Fix them.  Are you familiar with the java language?

GreG

On Dec 3, 2010, at 15:15, "John McKim" <jmckim at comcast.net> wrote:

> Thanks for the reply Mauricio.  I tried what you said using this modified rule:
> 
>  
> 
> rule "medicalHistoryBleedingRiskFactors.gastritis rule"
> 
> salience 20
> 
>     when
> 
>         # find patients who indicated that they have MedicalHistoryBleedingRiskFactors: gastritis
> 
>         $patient : Patient(medicalHistoryBleedingRiskFactors.gastritis > 0)
> 
>     then
> 
>         String severity = $patient.medicalHistoryBleedingRiskFactors.gastritis;
> 
>         $weight = 5;
> 
>         $factor = .1;
> 
>         $tempScore = $factor;
> 
>         $tempScore = $tempScore * $weight;
> 
>         $tempScore = $tempScore * $severity;
> 
>         # Now add this risk score to the accumlated risk score
> 
>         $patient.score = $patient.score + $tempScore;
> 
>         $patient.problem = new String("MedicalHistoryBleedingRiskFactors.gastritis");
> 
> end
> 
>  
> 
> But I got this exception in the client (I am using 5.1.1 by the way):
> 
>  
> 
> Exception in thread "Thread-4" java.lang.RuntimeException: Unable to build expression for 'consequence': [Error: Failed to compile: 1 compilation error(s):
> 
>  - (1,9) unqualified type in strict mode for: $severity]
> 
> [Near : {... Unknown ....}]
> 
>              ^
> 
> [Line: 1, Column: 0] '        String severity = $patient.medicalHistoryBleedingRiskFactors.gastritis;
> 
>         $weight = 5;
> 
>         $factor = .1;
> 
>         $tempScore = $factor;
> 
>         $tempScore = $tempScore * $weight;
> 
>         $tempScore = $tempScore * $severity;
> 
>         // Now add this risk score to the accumlated risk score
> 
>         $patient.score = $patient.score + $tempScore;
> 
>         $patient.problem = new String("MedicalHistoryBleedingRiskFactors.gastritis");
> 
> ' : [Rule name='medicalHistoryBleedingRiskFactors.gastritis rule']
> 
>  
> 
>         at com.kai.framework.plugins.ruleengine.LocalRuleEnginePlugin.createLevel1KnowledgeBase(LocalRuleEnginePlugin.java:107)
> 
>         at com.kai.framework.plugins.ruleengine.LocalRuleEnginePlugin.access$100(LocalRuleEnginePlugin.java:22)
> 
>         at com.kai.framework.plugins.ruleengine.LocalRuleEnginePlugin$InitializeRuleEngine.run(LocalRuleEnginePlugin.java:192)
> 
>  
> 
> When I took out the String severity and used just $severity:  it works fine.  Just on the App server does it fail.
> 
>  
> 
> From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Mauricio Salatino
> Sent: Friday, December 03, 2010 3:36 PM
> To: Rules Users List
> Subject: Re: [rules-users] Rules in App Server Error
> 
>  
> 
> that's weird.. you are using a varible that you never define in the Right Hand Side.
> $severity was never defined. In the RHS remember that you can write pure java. So if you want a variable called severity you should declare it as:
> String severity = $patient.
> 
> medicalHistoryBleedingRiskFactors.gastritis;
> 
> Greetings.
> 
>  
> 
> 2010/12/3 John McKim <jmckim at comcast.net>
> 
> I'm having a problem that I can't seem to figure out.  I have rules that run in a client program with no problem - about 125 rules in all.  When I try to run these same rules in an App Server (GlassFish) I get several rules (about 5) that have an error on initialization.  Here is the error message followed by the rule. 
> 
> ******************************************* 
> SEVERE: java.lang.RuntimeException: Unable to build expression for 'consequence': [Error: not a statement, or badly formed structure] 
> [Near : {... $severity; 
>                    ....}] 
>                      ^ 
> [Line: 1, Column: 233] '        $severity = $patient.medicalHistoryBleedingRiskFactors.gastritis; 
>         $weight = 5; 
>         $factor = .1; 
>         $tempScore = $factor; 
>         $tempScore = $tempScore * $weight; 
>         $tempScore = $tempScore * $severity; 
>         // Now add this risk score to the accumlated risk score 
>         $patient.score = $patient.score + $tempScore; 
>         $patient.problem = new String("MedicalHistoryBleedingRiskFactors.gastritis"); 
> ' : [Rule name='medicalHistoryBleedingRiskFactors.gastritis rule'] 
> ********************************************** 
> rule "medicalHistoryBleedingRiskFactors.gastritis rule" 
> salience 20 
>     when 
>         # find patients who indicated that they have MedicalHistoryBleedingRiskFactors: gastritis 
>         $patient : Patient(medicalHistoryBleedingRiskFactors.gastritis > 0) 
>     then 
>         $severity = $patient.medicalHistoryBleedingRiskFactors.gastritis; 
>         $weight = 5; 
>         $factor = .1; 
>         $tempScore = $factor; 
>         $tempScore = $tempScore * $weight; 
>         $tempScore = $tempScore * $severity; 
>         # Now add this risk score to the accumlated risk score 
>         $patient.score = $patient.score + $tempScore; 
>         $patient.problem = new String("MedicalHistoryBleedingRiskFactors.gastritis"); 
> end
> 
> As I said, this rule runs fine in a client app – when I run the same rules in app server I get an error.  This is only happening in 5 out of 125 rules, and only during initialization using builder.add(ResourceFactory.newClassPathResource(file).
> Thanks.
> 
>  
> 
> 
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
> 
> 
> 
> 
> -- 
>  - CTO @ http://www.plugtree.com  
>  - MyJourney @ http://salaboy.wordpress.com
>  - Co-Founder @ http://www.jbug.com.ar
>  
>  - Salatino "Salaboy" Mauricio -
> 
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20101203/011d2204/attachment.html 


More information about the rules-users mailing list