Hi, all:<br>&nbsp;&nbsp;&nbsp; I meet a strange error when use &quot;contains&quot; operator on string type, My rule is like below:<br><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">
package org.drools.examples;<br>&nbsp;<br>import org.drools.examples.HelloWorldExample.Message;<br><br>rule &quot;check str contains&quot;<br>&nbsp;&nbsp;&nbsp; dialect &quot;java&quot;<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; m:Message( <span style="color: rgb(255, 0, 0);">message</span> contains &quot;Hello&quot; )<br>
&nbsp;&nbsp;&nbsp; then<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println( &quot;===check str contains ok===&quot; ); <br>end</blockquote><div>It throw below exception:<br><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">
&nbsp;Exception in thread &quot;main&quot; java.lang.RuntimeException: <span style="color: rgb(255, 0, 0);">Operator &#39;Operator = &#39;contains&#39;&#39; does not exist for StringEvaluator</span><br>&nbsp;&nbsp;&nbsp; at org.drools.base.evaluators.StringFactory.getEvaluator(StringFactory.java:70)<br>
&nbsp;&nbsp;&nbsp; at org.drools.base.ValueType.getEvaluator(ValueType.java:166)<br>&nbsp;&nbsp;&nbsp; at org.drools.rule.builder.PatternBuilder.getEvaluator(PatternBuilder.java:900)<br>&nbsp;&nbsp;&nbsp; at org.drools.rule.builder.PatternBuilder.buildRestriction(PatternBuilder.java:714)<br>
&nbsp;&nbsp;&nbsp; at org.drools.rule.builder.PatternBuilder.buildRestriction(PatternBuilder.java:625)<br>&nbsp;&nbsp;&nbsp; at org.drools.rule.builder.PatternBuilder.createRestriction(PatternBuilder.java:434)<br>&nbsp;&nbsp;&nbsp; at org.drools.rule.builder.PatternBuilder.build(PatternBuilder.java:308)<br>
&nbsp;&nbsp;&nbsp; at org.drools.rule.builder.PatternBuilder.buildConstraint(PatternBuilder.java:199)<br>&nbsp;&nbsp;&nbsp; at org.drools.rule.builder.PatternBuilder.build(PatternBuilder.java:168)<br>&nbsp;&nbsp;&nbsp; at org.drools.rule.builder.PatternBuilder.build(PatternBuilder.java:93)<br>
&nbsp;&nbsp;&nbsp; at org.drools.rule.builder.GroupElementBuilder.build(GroupElementBuilder.java:69)<br>&nbsp;&nbsp;&nbsp; at org.drools.rule.builder.RuleBuilder.build(RuleBuilder.java:53)<br>&nbsp;&nbsp;&nbsp; at org.drools.compiler.PackageBuilder.addRule(PackageBuilder.java:446)<br>
&nbsp;&nbsp;&nbsp; at org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:304)<br>&nbsp;&nbsp;&nbsp; at org.drools.compiler.PackageBuilder.addPackageFromDrl(PackageBuilder.java:167)<br>&nbsp;&nbsp;&nbsp; at org.drools.examples.HelloWorldExample.main(HelloWorldExample.java:28)<br>
</blockquote>But if I use a &quot;deep&quot; str field, this issue does not exist, Everything goes well.<br>The drl is like below:<br><blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">
package org.drools.examples;<br>&nbsp;<br>import org.drools.examples.HelloWorldExample.Message;<br><br>rule &quot;check deep str contains&quot;<br>&nbsp;&nbsp;&nbsp; dialect &quot;java&quot;<br>&nbsp;&nbsp;&nbsp; when<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; m:Message( <span style="color: rgb(255, 0, 0);">sec.fir.msg</span> contains &quot;Hello&quot; )<br>
&nbsp;&nbsp;&nbsp; then<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println( &quot;===check deep str contains ok===&quot; ); <br>end</blockquote><div>It seems a bug, but I am not sure. I attached my test code and the two drl files.<br>I use below jars to compile and run this test case:<br>
<blockquote style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;" class="gmail_quote">antlr-runtime-3.0.jar<br>core-3.2.3.v_686_R32x.jar<br>drools-compiler-4.0.7.jar<br>drools-core-4.0.7.jar<br>
drools-decisiontables-4.0.7.jar<br>drools-jsr94-4.0.7.jar<br>janino-2.5.10.jar<br>jsr94-1.1.jar<br>mvel-1.3.12-java1.4.2.jar</blockquote><p class="MyStyle" style="text-indent: 21pt;"><font size="2" color="#244bac" face="Verdana"><span style="font-size: 10pt;" lang="EN-US"></span></font></p>
&nbsp;Can everyone kindly give me any suggestion?<br><br>Thanks!<br>- Zeke<br></div></div>