Here are my rules:<br><br>#created on: 29/10/2007<br>package br.ufpr.ti.identkit.rules<br><br>#list any import classes here.<br>import br.ufpr.ti.identkit.entity.*<br><font style="font-weight: bold;" size="2"><span style="color: rgb(204, 0, 0);">
#the package </span></font>" <span style="font-weight: bold; color: rgb(204, 0, 0);">br.ufpr.ti.identkit.entity.*</span> <font style="font-weight: bold;" size="2"><span style="color: rgb(204, 0, 0);">" has the class TipoCaracteristica and the class TipoMolde
</span></font><br>import br.ufpr.ti.identkit.ia.Especialista<br>import java.util.List<br>import java.util.LinkedList<br>import java.util.ArrayList<br><br>rule "POSSUI_CARACTERISTICA_MARCANTE Resposta nao"<br>salience 95
<br> when<br> e : Especialista(perguntado == false)<br> Especialista( $retrato : retratoUser) <br> Retrato($lstCaracRetrato : lstCarac) from $retrato<br> Retrato($lstMolde : lstMolde) from $retrato
<br> Molde(tipoMolde.codTipMolde == TipoMolde.CABELO && $lstCaracMolde: lstCarac) from $lstMolde<br> //CABELO_ENCOBERTO = 34<br> eval(naoPerguntou($lstCaracMolde, 34))<br> //TipoCaracteristica.POSSUI_CARACTERISTICA_MARCANTE == 33
<br> //146 não possui caracteristica marcante<br> Caracteristica(tipCarac.codTipCarac == 33 && valor.codValor == 146) from $lstCaracRetrato<br> then <br> buscarMontarPergunta(e,Pergunta.CABELO_ENCOBERTO
,Especialista.CABELO);<br> e.perguntado = true;<br> update(e);<br>end<br><br>How can I be sure that I'm with latest MVEL jar?<br><br><br><div><span class="gmail_quote">2007/10/31, Rahul Phadnis <<a href="mailto:rahul.phadnis@yahoo.com">
rahul.phadnis@yahoo.com</a>>:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Do you have an import statement for importing<br>TipoCaracteristica?
<br><br>I see you are already using TipoMolde.CABELO which I<br>assume is another public static variable in the<br>TipoMolde class.<br><br>If none of these work can you post your drl file?<br><br>Rahul<br><br>--- Anderson Pazza Mello <
<a href="mailto:payakahn@gmail.com">payakahn@gmail.com</a>> wrote:<br><br>> Yes I'm Brazilian....<br>> I need to improve my english I now hehehe<br>><br>> About the problem... I solved it.<br>><br>> But now I'm getting this error when I use a static
<br>> property in the rules:<br>><br>> Exception in thread "AWT-EventQueue-0"<br>> org.drools.RuntimeDroolsException:<br>> Exception executing predicate<br>> org.drools.base.mvel.MVELPredicateExpression@916f80
<br>> at<br>> org.drools.rule.PredicateConstraint.isAllowed(<br>> PredicateConstraint.java:197)<br>> at<br>><br>org.drools.reteoo.FromNode.assertTuple(FromNode.java:70)<br>> at<br>><br>org.drools.reteoo.SingleTupleSinkAdapter.propagateAssertTuple
(<br>> SingleTupleSinkAdapter.java:29)<br>> at<br>> org.drools.reteoo.EvalConditionNode.assertTuple(<br>> EvalConditionNode.java:150)<br>> at<br>><br>org.drools.reteoo.SingleTupleSinkAdapter.propagateAssertTuple
(<br>> SingleTupleSinkAdapter.java:20)<br>> at<br>><br>org.drools.reteoo.FromNode.assertTuple(FromNode.java:87)<br>> at<br>><br>org.drools.reteoo.SingleTupleSinkAdapter.propagateAssertTuple(<br>>
SingleTupleSinkAdapter.java:20)<br>> at<br>><br>org.drools.reteoo.FromNode.assertTuple(FromNode.java:87)<br>> at<br>><br>org.drools.reteoo.SingleTupleSinkAdapter.propagateAssertTuple(<br>> SingleTupleSinkAdapter.java
:20)<br>> at<br>><br>org.drools.reteoo.FromNode.assertTuple(FromNode.java:87)<br>> .<br>> .<br>> .<br>><br>> Caused by: org.mvel.PropertyAccessException: unable<br>> to resolve property:<br>> unable to resolve token:
<br>> TipoCaracteristica.CABELO_TOTALMENTE_CALVO<br>> at<br>> org.mvel.ast.PropertyASTNode.initializePropertyNode(<br>> PropertyASTNode.java:86)<br>> at<br>><br>org.mvel.ast.PropertyASTNode.getReducedValueAccelerated
(<br>> PropertyASTNode.java:23)<br>> at<br>><br>org.mvel.ast.BinaryOperation.getReducedValueAccelerated(<br>> BinaryOperation.java:20)<br>> at<br>> org.mvel.MVELRuntime.execute(MVELRuntime.java:88)
<br>> at<br>><br>org.mvel.CompiledExpression.getValue(CompiledExpression.java:99)<br>> at<br>> org.mvel.MVEL.executeExpression(MVEL.java:219)<br>> at<br>><br>org.drools.base.mvel.MVELPredicateExpression.evaluate
(<br>> MVELPredicateExpression.java:36)<br>> at<br>> org.drools.rule.PredicateConstraint.isAllowed(<br>> PredicateConstraint.java:191)<br>> ... 44 more<br>><br>> Example:<br>><br>> Property :
<br>> public class TipoCaracteristica implements<br>> java.io.Serializable{<br>> .<br>> .<br>><br>> public static int CABELO_TOTALMENTE_CALVO = 37;<br>> .<br>> .<br>> .<br>> }<br>><br>
> rule:<br>><br>> rule "CABELO_TOTALMENTE_CALVO resposta nao / Chama<br>> Tipo de Cabelo"<br>> salience 90<br>> when<br>> e : Especialista(perguntado == false)<br>> Especialista( $retrato : retratoUser)
<br>> Retrato($lstCaracRetrato : lstCarac) from<br>> $retrato<br>> Retrato($lstMolde : lstMolde) from $retrato<br>> Molde(tipoMolde.codTipMolde ==<br>> TipoMolde.CABELO && $lstCaracMolde:
<br>> lstCarac) from $lstMolde<br>> //CABELO_TIPO = 10<br>> eval(naoPerguntou($lstCaracMolde, 10))<br>> //CABELO_TOTALMENTE_CALVO = 37 e<br>> RESPOSTA_SIM = 154<br>> Caracteristica(
tipCarac.codTipCarac ==<br>> TipoCaracteristica.CABELO_TOTALMENTE_CALVO &&<br>> valor.codValor == 154) from<br>> $lstCaracMolde<br>> then<br>><br>><br>buscarMontarPergunta(e,Pergunta.CABELO_TIPO
,Especialista.CABELO);<br>> e.perguntado = true;<br>> update(e);<br>> end<br>><br>> I get some statics properties like<br>> "TipoMolde.CABELO" without errors, but I<br>> can't use the properties from this class
<br>> (TipoCaracteristica). Did you know<br>> why?<br>> If I use de value like this "valor.codValor == 154",<br>> I have no problem.<br>><br>> 2007/10/29, Edson Tirelli <<a href="mailto:tirelli@post.com">
tirelli@post.com</a>>:<br>> ><br>> ><br>> > Anderson,<br>> ><br>> > What is the error? Can you provide a self<br>> contained example?<br>> > Using the "from CE" as showed before works.
<br>> ><br>> > BTW, are you Brazilian? Your name sounds like<br>> a Brazilian name.<br>> ><br>> > []s<br>> > Edson<br>> ><br>> > 2007/10/27, Anderson Pazza Mello<br>
> <<a href="mailto:payakahn@gmail.com">payakahn@gmail.com</a>>:<br>> > ><br>> > > How can I test all elements of the list?<br>> > > Can I need to use something like "for (int<br>> i.....)"?
<br>> > ><br>> > > I'm trying to do that but it is not working...<br>> > ><br>> > > "Caracteristica( codCarac != 0 ) from<br>> $caracList"<br>> > ><br>> > >
<br>> > ><br>> > > My test:<br>> > ><br>> > > e : Especialista (perguntado == false)<br>> > > Especialista( $moldeList :<br>> retratoUser.lstMolde )<br>> > > Molde( tipoMolde ==
TipoMolde.CABELO)<br>> from $moldeList<br>> > ><br>> > ><br>> > > When the property "tipoMolde ==<br>> TipoMolde.CABELO" the rule must to be<br>> > > fired. The List $moldeList has 5 elements.
<br>> > ><br>> > > any idea?<br>> > ><br>> > ><br>> > > 2007/10/3, Edson Tirelli < <a href="mailto:tirelli@post.com">tirelli@post.com</a>>:<br>> > > ><br>> > > > Use the "from" CE:
<br>> > > ><br>> > > > rule "This rule will fire once for each<br>> Caracteristica whose codCarac<br>> > > > is != 0"<br>> > > > when<br>> > > > Especialista( $caracList :
<br>> retratoUser.lstCarac )<br>> > > > Caracteristica( codCarac != 0 ) from<br>> $caracList<br>> > > > then<br>> > > > ...<br>> > > > end<br>> > > >
<br>> > > > []s<br>> > > > Edson<br>> > > ><br>> > > > 2007/10/3, Bhattacharya, Sougata <<br>> <a href="mailto:sougata.bhattacharya@capgemini.com">sougata.bhattacharya@capgemini.com
</a><br>> > > > >:<br>> > > > ><br>> > > > > If I want to test for all ith element,<br>> > > > ><br>> > > > > Like this<br>> > > > >
<br>> > > > ><br>> > > > ><br>> > > > > rule "Test"<br>> > > > ><br>> > > > > when<br>> > > > > e :<br>> Especialista(
retratoUser.lstCarac.get(i).codCarac !=<br>> 0)<br>> > > > > then<br>><br>=== message truncated ===><br>_______________________________________________<br>> rules-users mailing list<br>>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>> <a href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>><br><br>_______________________________________________
<br>rules-users mailing list<br><a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br><a href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users
</a><br></blockquote></div><br><br clear="all"><br>-- <br>Anderson Pazza Mello<br>Tecnologia em Informática - UFPR