Do you know why? *
=)2007/10/30, Anderson Pazza Mello <payakahn@gmail.com >:Yes I'm Brazilian....
I need to improve my english I now hehehe
About the problem... I solved it.
But now I'm getting this error when I use a static property in the rules:
Exception in thread "AWT-EventQueue-0" org.drools.RuntimeDroolsException: Exception executing predicate org.drools.base.mvel.MVELPredicateExpression@916f80
at org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:197)
at org.drools.reteoo.FromNode.assertTuple(FromNode.java :70)
at org.drools.reteoo.SingleTupleSinkAdapter.propagateAssertTuple(SingleTupleSinkAdapter.java:29)
at org.drools.reteoo.EvalConditionNode.assertTuple(EvalConditionNode.java:150)
at org.drools.reteoo.SingleTupleSinkAdapter.propagateAssertTuple (SingleTupleSinkAdapter.java:20)
at org.drools.reteoo.FromNode.assertTuple(FromNode.java:87)
at org.drools.reteoo.SingleTupleSinkAdapter.propagateAssertTuple(SingleTupleSinkAdapter.java:20)
at org.drools.reteoo.FromNode.assertTuple (FromNode.java:87)
at org.drools.reteoo.SingleTupleSinkAdapter.propagateAssertTuple(SingleTupleSinkAdapter.java:20)
at org.drools.reteoo.FromNode.assertTuple(FromNode.java:87)
.
.
.
Caused by: org.mvel.PropertyAccessException: unable to resolve property: unable to resolve token: TipoCaracteristica.CABELO_TOTALMENTE_CALVO
at org.mvel.ast.PropertyASTNode.initializePropertyNode(PropertyASTNode.java:86)
at org.mvel.ast.PropertyASTNode.getReducedValueAccelerated(PropertyASTNode.java :23)
at org.mvel.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:20)
at org.mvel.MVELRuntime.execute(MVELRuntime.java:88)
at org.mvel.CompiledExpression.getValue(CompiledExpression.java:99)
at org.mvel.MVEL.executeExpression(MVEL.java:219)
at org.drools.base.mvel.MVELPredicateExpression.evaluate (MVELPredicateExpression.java:36)
at org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:191)
... 44 more
Example:
Property :
public class TipoCaracteristica implements java.io.Serializable{
.
.
public static int CABELO_TOTALMENTE_CALVO = 37;
.
.
.
}
rule:
rule "CABELO_TOTALMENTE_CALVO resposta nao / Chama Tipo de Cabelo"
salience 90
when
e : Especialista(perguntado == false)
Especialista( $retrato : retratoUser)
Retrato($lstCaracRetrato : lstCarac) from $retrato
Retrato($lstMolde : lstMolde) from $retrato
Molde(tipoMolde.codTipMolde == TipoMolde.CABELO && $lstCaracMolde: lstCarac) from $lstMolde
//CABELO_TIPO = 10
eval(naoPerguntou($lstCaracMolde, 10))
//CABELO_TOTALMENTE_CALVO = 37 e RESPOSTA_SIM = 154
Caracteristica(tipCarac.codTipCarac == TipoCaracteristica.CABELO_TOTALMENTE_CALVO && valor.codValor == 154) from $lstCaracMolde
then
buscarMontarPergunta(e,Pergunta.CABELO_TIPO,Especialista.CABELO);
e.perguntado = true;
update(e);
end
I get some statics properties like "TipoMolde.CABELO" without errors, but I can't use the properties from this class (TipoCaracteristica). Did you know why?
If I use de value like this " valor.codValor == 154", I have no problem.2007/10/29, Edson Tirelli < tirelli@post.com>:
Anderson,
What is the error? Can you provide a self contained example?
Using the "from CE" as showed before works.
BTW, are you Brazilian? Your name sounds like a Brazilian name.
[]s
Edson2007/10/27, Anderson Pazza Mello <payakahn@gmail.com >:How can I test all elements of the list?
Can I need to use something like "for (int i.....)"?
I'm trying to do that but it is not working...
"Caracteristica( codCarac != 0 ) from $caracList"
My test:
e : Especialista (perguntado == false)
Especialista( $moldeList : retratoUser.lstMolde )
Molde( tipoMolde == TipoMolde.CABELO) from $moldeList
When the property "tipoMolde == TipoMolde.CABELO" the rule must to be fired. The List $moldeList has 5 elements.
any idea?2007/10/3, Edson Tirelli < tirelli@post.com>:Use the "from" CE:
rule "This rule will fire once for each Caracteristica whose codCarac is != 0"
when
Especialista( $caracList : retratoUser.lstCarac )
Caracteristica( codCarac != 0 ) from $caracList
then
...
end
[]s
Edson2007/10/3, Bhattacharya, Sougata < sougata.bhattacharya@capgemini.com>:If I want to test for all ith element,
Like this
rule "Test"
when
e : Especialista(retratoUser.lstCarac.get(i).codCarac != 0)
then
System.out.println ("test");
end
what should I do
From: rules-users-bounces@lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] On Behalf Of Edson Tirelli
Sent: Wednesday, October 03, 2007 6:10 AM
To: Rules Users List
Subject: Re: [rules-users] Using java.util.List in rules
You can't explicitly call methods in the field name. Use MVEL special notation for lists:
e : Especialista(retratoUser.lstCarac[0].codCarac != 0)
[]s
Edson
2007/10/2, Anderson Pazza Mello < payakahn@gmail.com>:
Hi everyone,
I'm trying to use a java.util.List like this:
rule "Test"
when
e : Especialista(retratoUser.lstCarac.get(0).codCarac != 0)
then
System.out.println ("test");
end
The property lstCarac is a java.util.List<Caracteristica>. I'm getting this error :
org.drools.rule.InvalidRulePackage: [18,44]: unknown:18:44 Unexpected token '0'[18,46]: unknown:18:46 Unexpected token '.'
at org.drools.rule.Package.checkValidity(Package.java:419)
Someone knows what i have to do to fix the problem??
--
Anderson Pazza Mello
Tecnologia em Informática - UFPR
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Edson Tirelli
Software Engineer - JBoss Rules Core Developer
Office: +55 11 3529-6000
Mobile: +55 11 9287-5646
JBoss, a division of Red Hat @ www.jboss.com
This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Edson Tirelli
Software Engineer - JBoss Rules Core Developer
Office: +55 11 3529-6000
Mobile: +55 11 9287-5646
JBoss, a division of Red Hat @ www.jboss.com
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Anderson Pazza Mello
Tecnologia em Informática - UFPR
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Edson Tirelli
Software Engineer - JBoss Rules Core Developer
Office: +55 11 3529-6000
Mobile: +55 11 9287-5646
JBoss, a division of Red Hat @ www.jboss.com
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Anderson Pazza Mello
Tecnologia em Informática - UFPR
--
Anderson Pazza Mello
Tecnologia em Informática - UFPR
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users