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

Mark Proctor mproctor at codehaus.org
Mon Aug 6 08:00:47 EDT 2007


btw if you are using the mvel dialect you can just do
fact0 = new Rejection();
fact0.reason = "Go away drunk" ;
insert( fact0 );

MVEL has type inference, so it doesn't need to be used explicitley and 
also javascript style property accessors.

Mark
Edgardo wrote:
> 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.optimizeObjectCreation(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.optimizeObjectCreation(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
>
>
>




More information about the rules-users mailing list