[rules-users] Guided editor (BRL) rules in the drools-examples-brms dont work
Edgardo
edgardoibanez at gmail.com
Tue Aug 7 17:43:24 EDT 2007
Hi, really sorry but... where is the package text file???
En Tue, 07 Aug 2007 16:38:59 -0400, Mark Proctor <mproctor at codehaus.org>
escribió:
> there is a package text file, you add all your imports there.
>
> Mark
> Edgardo wrote:
>> Hi, How I can import the package classes for MVEL? I import the Java
>> Classes in the package configuration, is this sufficient one?
>>
>> Really thanks
>>
>> En Tue, 07 Aug 2007 15:59:29 -0400, Mark Proctor
>> <mproctor at codehaus.org> escribió:
>>
>>> MVEL does not dynamically import package classes, they must be
>>> imported manually, so I actually imagine its that. the consequence
>>> syntax you have is valid for both java and MVEL.
>>>
>>> Mark
>>> Edgardo wrote:
>>>> Hi,finally the problem is the guided editor, the code generated in
>>>> assert fact is not for the mvel compiler, the solution for mi problem
>>>> was add a new dialect option with "java" parameter.
>>>>
>>>> - The source code of the rule:
>>>>
>>>> rule "Driver is crazy"
>>>> dialect "java"
>>>> when
>>>> Driver( age >= "20" && < "25" , locationRiskProfile ==
>>>> "HIGH" , name == "Fernando Meyer" )
>>>> Policy( type == "PROBLEMATIC" )
>>>> then
>>>> insert(new Rejection(" Go away drunk "));
>>>> end
>>>>
>>>> - The result:
>>>>
>>>> RuleAgent(insuranceconfig) INFO (Tue Aug 07 09:56:30 CLT 2007):
>>>> Configuring with newInstance=true, secondsToRefresh=30
>>>> RuleAgent(insuranceconfig) INFO (Tue Aug 07 09:56:30 CLT 2007):
>>>> Configuring package provider : URLScanner monitoring URLs:
>>>> http://localhost:8080/drools-jbrms/org.drools.brms.JBRMS/package/org.acme.insurance/InsuranceSnapshot
>>>> RuleAgent(insuranceconfig) INFO (Tue Aug 07 09:56:31 CLT 2007):
>>>> Applying changes to the rulebase.
>>>> RuleAgent(insuranceconfig) INFO (Tue Aug 07 09:56:31 CLT 2007):
>>>> Creating a new rulebase as per settings.
>>>> RuleAgent(insuranceconfig) INFO (Tue Aug 07 09:56:31 CLT 2007):
>>>> Adding package called org.acme.insurance
>>>> REJECTED: Go away drunk
>>>>
>>>> :):):)
>>>>
>>>> I hope my solution work for anybody have the same problem
>>>>
>>>> PD: The classpath was not the problem.
>>>>
>>>> Thanks, see you in another post :)
>>>>
>>>>
>>>> En Mon, 06 Aug 2007 12:28:37 -0400, Mark Proctor
>>>> <mproctor at codehaus.org> escribió:
>>>>
>>>>> Edgardo wrote:
>>>>>> Hi, when I use the BRL editor, I can't edit the source code of the
>>>>>> rule, that is available in read-only mode, when you or other users
>>>>>> fire this rules, you don't have this problem ?
>>>>>>
>>>>> The BRL editor does not allow the source code to be edited, so
>>>>> you'll have to accept what it generates for now.
>>>>>> 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)
>>>>> This issue means the compiler cannot find your model, the class
>>>>> Rejection is not in the classpath.
>>>>>>
>>>>>> Greetings
>>>>>>
>>>>>> En Mon, 06 Aug 2007 08:00:47 -0400, Mark Proctor
>>>>>> <mproctor at codehaus.org> escribió:
>>>>>>
>>>>>>> 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
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> 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
>>>>
>>>>
>>>>
>>>
>>> _______________________________________________
>>> 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