[rules-users] Guided editor (BRL) rules in the drools-examples-brms dont work

Edgardo edgardoibanez at gmail.com
Sun Aug 5 14:19:18 EDT 2007


Hi fernando, the package source code is:

package org.acme.insurance
import org.acme.insurance.Driver
import org.acme.insurance.Approve
import org.acme.insurance.Policy
import org.acme.insurance.Rejection

...

rule "Driver is crazy"
	dialect "mvel"
	when
		Driver( age >= "20"  && < "25" , locationRiskProfile == "HIGH" , name ==  
"Fernando Meyer" )
		Policy( type == "PROBLEMATIC" )
	then
		Rejection fact0 = new Rejection();
		fact0.setReason( "Go away drunk" );
		insert( fact0 );
end

...

I import this from repository_export.xml in the resource folder, and for  
fire "Driver is crazy" rule, I append the next code to InsuranceBusiness  
class:

public void executeExample() throws Exception {
		RuleBase ruleBase = loadRuleBase();

		testUnsafeDriver(ruleBase);
		testSafeMature(ruleBase);
		testUnsafeAreaAndPriors(ruleBase);
		testDriverIsCrazy(ruleBase);  //-----> This
	}

/*** And this method ***/

private void testDriverCrazy(RuleBase ruleBase) {
		StatefulSession session = ruleBase.newStatefulSession();
		
		Driver driver = new Driver();
		driver.setAge(new Integer(23));
		driver.setLocationRiskProfile("HIGH");
		driver.setName("Fernando Meyer");
		
		Policy policy = new Policy();
		policy.setType("PROBLEMATIC");
		policy.setApproved(false);
		
		session.insert(driver);
		session.insert(policy);
		session.fireAllRules();
	}

In the example you dont fire the rules where I have the problems

Thanks and sorry again for my english

Greetings

En Sun, 05 Aug 2007 11:46:14 -0400, Fernando Meyer <fmcamargo at gmail.com>  
escribió:

> Hi Eduardo,
>
> 	Probably you missed some importing statement in your package  
> configuration, check this please;
>
> Regards
>
> Fernando Meyer http://fmeyer.org
> fmcamargo at gmail.com
> PGP: 0xD804DDFB
>
>
>
> On Aug 4, 2007, at 4:49 PM, Edgardo wrote:
>
>> Hi list, I post my problem in the rules-dev list. The problem is  
>> execute the "Driver is Crazy", "Driver is too old" and "Driver special  
>> age Approved" rules. I have the problem of the next section:
>>
>>> Edgardo wrote:
>>>> Yes, I did it, in the package configuration. I use the  
>>>> drools-4.0.0-brms version. The problem is at the moment to evaluate  
>>>> the next generate code of the rule:
>>>>
>>>> then
>>>>         Rejection fact0 = new Rejection();
>>>>         fact0.setReason( "Driver too old" );
>>>>         insert( fact0 );
>>>>
>>>> If I use the Technical rule text editor, i dont have any problem.
>>>>
>>>> Greetings from Chile :)
>>>>
>>>> En Fri, 03 Aug 2007 19:06:05 -0400, Mark Proctor  
>>>> <mproctor at codehaus.org> escribió:
>>>>
>>>>> did you upload your model and import it?
>>>>>
>>>>> Mark
>>>>> Edgardo wrote:
>>>>>> Hi rules-dev list, (my english is very poor, sorry) I am interested  
>>>>>> in using the
>>>>>> BRMS of JBoss Rules, but when I use the guided editor, this rules  
>>>>>> dont
>>>>>> work, and in drools-examples-brms example, this dont work too, the  
>>>>>> error message (in the
>>>>>> "Driver is Crazy" rule)is:
>>>>>>
>>>>>> RuleAgent(insuranceconfig) INFO (Fri Aug 03 16:05:58 CLT 2007):  
>>>>>> Adding
>>>>>> package called org.acme.insurance
>>>>>> org.mvel.CompileException: class or class reference not found:  
>>>>>> Rejection()
>>>>>>     at
>>>>>> org.mvel.optimizers.impl.asm.ASMAccessorOptimizer.optimizeObjectCr 
>>>>>> eation(ASMAccessorOptimizer.java:1771)     at
>>>>>> org.mvel.ast.NewObjectNode.getReducedValueAccelerated 
>>>>>> (NewObjectNode.java:49)     at org.mvel.MVELRuntime.execute 
>>>>>> (MVELRuntime.java:87)
>>>>>>     at org.mvel.CompiledExpression.getValue 
>>>>>> (CompiledExpression.java:98)
>>>>>>     at org.mvel.CompiledExpression.getValue 
>>>>>> (CompiledExpression.java:93)
>>>>>>     at
>>>>>> org.mvel.ast.TypedVarNode.getReducedValueAccelerated 
>>>>>> (TypedVarNode.java:36)     at org.mvel.MVELRuntime.execute 
>>>>>> (MVELRuntime.java:87)
>>>>>>     at org.mvel.CompiledExpression.getValue 
>>>>>> (CompiledExpression.java:98)
>>>>>>     at org.mvel.MVEL.executeExpression(MVEL.java:202)
>>>>>>     at org.drools.base.mvel.MVELConsequence.evaluate 
>>>>>> (MVELConsequence.java:32)
>>>>>>     at org.drools.common.DefaultAgenda.fireActivation 
>>>>>> (DefaultAgenda.java:545)
>>>>>>     at org.drools.common.DefaultAgenda.fireNextItem 
>>>>>> (DefaultAgenda.java:509)
>>>>>>     at
>>>>>> org.drools.common.AbstractWorkingMemory.fireAllRules 
>>>>>> (AbstractWorkingMemory.java:430)     at
>>>>>> org.drools.common.AbstractWorkingMemory.fireAllRules 
>>>>>> (AbstractWorkingMemory.java:392)     at
>>>>>> org.acme.insurance.launcher.InsuranceBusiness.testDriverCrazy 
>>>>>> (InsuranceBusiness.java:93)     at
>>>>>> org.acme.insurance.launcher.InsuranceBusiness.executeExample 
>>>>>> (InsuranceBusiness.java:19)     at  
>>>>>> org.acme.insurance.launcher.MainClass.main(MainClass.java:13)
>>>>>> org.drools.spi.ConsequenceException: org.mvel.CompileException:  
>>>>>> class or
>>>>>> class reference not found: Rejection()
>>>>>>     at org.drools.common.DefaultAgenda.fireActivation 
>>>>>> (DefaultAgenda.java:549)
>>>>>>     at org.drools.common.DefaultAgenda.fireNextItem 
>>>>>> (DefaultAgenda.java:509)
>>>>>>     at
>>>>>> org.drools.common.AbstractWorkingMemory.fireAllRules 
>>>>>> (AbstractWorkingMemory.java:430)     at
>>>>>> org.drools.common.AbstractWorkingMemory.fireAllRules 
>>>>>> (AbstractWorkingMemory.java:392)     at
>>>>>> org.acme.insurance.launcher.InsuranceBusiness.testDriverCrazy 
>>>>>> (InsuranceBusiness.java:93)     at
>>>>>> org.acme.insurance.launcher.InsuranceBusiness.executeExample 
>>>>>> (InsuranceBusiness.java:19)     at  
>>>>>> org.acme.insurance.launcher.MainClass.main(MainClass.java:13)
>>>>>> Caused by: org.mvel.CompileException: class or class reference not  
>>>>>> found:
>>>>>> Rejection()
>>>>>>     at
>>>>>> org.mvel.optimizers.impl.asm.ASMAccessorOptimizer.optimizeObjectCr 
>>>>>> eation(ASMAccessorOptimizer.java:1771)     at
>>>>>> org.mvel.ast.NewObjectNode.getReducedValueAccelerated 
>>>>>> (NewObjectNode.java:49)     at org.mvel.MVELRuntime.execute 
>>>>>> (MVELRuntime.java:87)
>>>>>>     at org.mvel.CompiledExpression.getValue 
>>>>>> (CompiledExpression.java:98)
>>>>>>     at org.mvel.CompiledExpression.getValue 
>>>>>> (CompiledExpression.java:93)
>>>>>>     at
>>>>>> org.mvel.ast.TypedVarNode.getReducedValueAccelerated 
>>>>>> (TypedVarNode.java:36)     at org.mvel.MVELRuntime.execute 
>>>>>> (MVELRuntime.java:87)
>>>>>>     at org.mvel.CompiledExpression.getValue 
>>>>>> (CompiledExpression.java:98)
>>>>>>     at org.mvel.MVEL.executeExpression(MVEL.java:202)
>>>>>>     at org.drools.base.mvel.MVELConsequence.evaluate 
>>>>>> (MVELConsequence.java:32)
>>>>>>     at org.drools.common.DefaultAgenda.fireActivation 
>>>>>> (DefaultAgenda.java:545)
>>>>>>     ... 6 more
>>>>>>
>>>>>> Thanks :), I am waiting for you response...
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> rules-dev mailing list
>>>>> 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
>>
>>
>>
>> --Edgardo Ibañez O.
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users



-- 
Edgardo Ibañez O.



More information about the rules-users mailing list