I&#39;d assume you set &quot;null&quot; as a literal value on the rule?<br><br>There&#39;s sort of a problem, AFAIK, that all literals are escaped as String in the RHS of a rule.<br><br>You might be best suited to electing to use &quot;New Formula&quot; and specifying the text &quot;age ==null || age.size() == 0&quot;.<br>
<br>This generates an inline eval for your constraint, which although not optimal, should work.<br><br>With kind regards,<br><br>Mike<br><br><div class="gmail_quote">2011/3/25 Wolfgang Laun <span dir="ltr">&lt;<a href="mailto:wolfgang.laun@gmail.com">wolfgang.laun@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Assuming you have<br><br>   class ApplicationData{ String age; int intAge;... }<br><br>you might do<br>
   rule one<br>   when<br>      ad : ApplicationData( $age: age != null &amp;&amp; != &quot;&quot; &amp;&amp; matches &quot;\\d+&quot; )<br>
   then<br>      modify( ad ){ setIntAge( Integer.parseInt($age)  ) }<br>   end<br>  rule two<br>
   when<br>      ad : ApplicationData( intAge &lt; 0 )<br>   then<br>      ...error...<br>   end<br><br>Or, anoither possibilitie:<br>  when<br>   ad : ApplicationData( $age: age != null &amp;&amp; != &quot;&quot; &amp;&amp; matches &quot;\\d+&quot; )<br>

   eval(  Integer.parseInt($age) &lt; 0 )<br> then<br>   ...error...<br> end<br><font color="#888888"><br>-W</font><div><div></div><div class="h5"><br><div class="gmail_quote">On 25 March 2011 18:46, Benson Fung <span dir="ltr">&lt;<a href="mailto:benson.redhat@gmail.com" target="_blank">benson.redhat@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">so how can I change it to integer in the rule?<br>
<br>
<br>
<br>
2011/3/26 Wolfgang Laun &lt;<a href="mailto:wolfgang.laun@gmail.com" target="_blank">wolfgang.laun@gmail.com</a>&gt;:<br>
&gt; If it&#39;s stored in a fact field of type int: yes.<br>
&gt;<br>
&gt; The way you write it: no.<br>
&gt;<br>
&gt; -W<br>
&gt;<br>
&gt;<br>
&gt; On 25 March 2011 18:37, Benson Fung &lt;<a href="mailto:benson.redhat@gmail.com" target="_blank">benson.redhat@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; If the age is String type, can I use Integer.parseInt(age) to change<br>
&gt;&gt; to integer and then evaluate it?<br>
&gt;&gt;<br>
&gt;&gt; like<br>
&gt;&gt;<br>
&gt;&gt; when<br>
&gt;&gt;   ad : ApplicationData(Integer.parseInt(age) &lt; 0)<br>
&gt;&gt; then<br>
&gt;&gt;  ad.setReturnMsg(&quot;age should not be negative 0&quot;)<br>
&gt;&gt; end<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; 2011/3/26 Wolfgang Laun &lt;<a href="mailto:wolfgang.laun@gmail.com" target="_blank">wolfgang.laun@gmail.com</a>&gt;:<br>
&gt;&gt; &gt; Sorry, I don&#39;t use guided editors.<br>
&gt;&gt; &gt; -W<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On 25 March 2011 18:17, Benson Fung &lt;<a href="mailto:benson.redhat@gmail.com" target="_blank">benson.redhat@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Hi Wolfgang,<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; I managed to author this rule(ApplicationData( age == null || age ==<br>
&gt;&gt; &gt;&gt; &quot;&quot; )) via Technical Rules editor of BRMS.<br>
&gt;&gt; &gt;&gt; However, I cannot create this rule via Business Rule Guided Editor of<br>
&gt;&gt; &gt;&gt; BRMS.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Could you let me know how?<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Thanks<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; 2011/3/26 Wolfgang Laun &lt;<a href="mailto:wolfgang.laun@gmail.com" target="_blank">wolfgang.laun@gmail.com</a>&gt;:<br>
&gt;&gt; &gt;&gt; &gt; You can&#39;t use a method call as the left hand side operand in a<br>
&gt;&gt; &gt;&gt; &gt; constraint;<br>
&gt;&gt; &gt;&gt; &gt; thus<br>
&gt;&gt; &gt;&gt; &gt;    age.size() == 0<br>
&gt;&gt; &gt;&gt; &gt; is not correct.<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; Do you really mean<br>
&gt;&gt; &gt;&gt; &gt;    age == &quot;null&quot;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; Probably<br>
&gt;&gt; &gt;&gt; &gt;   ApplicationData( age == null || age == &quot;&quot; )<br>
&gt;&gt; &gt;&gt; &gt; is the right thing to do, provided that ApplicationData.age is a<br>
&gt;&gt; &gt;&gt; &gt; String.<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; -W<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; On 25 March 2011 17:32, Benson Fung &lt;<a href="mailto:benson.redhat@gmail.com" target="_blank">benson.redhat@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Hi,<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; I got the following rule problem.<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; The rule is like :<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; 1.      |       rule &quot;Rule1&quot;<br>
&gt;&gt; &gt;&gt; &gt;&gt; 2.      |           dialect &quot;mvel&quot;<br>
&gt;&gt; &gt;&gt; &gt;&gt; 3.      |           when<br>
&gt;&gt; &gt;&gt; &gt;&gt; 4.      |               ad : ApplicationData( age == &quot;null&quot; ,<br>
&gt;&gt; &gt;&gt; &gt;&gt; age.size()<br>
&gt;&gt; &gt;&gt; &gt;&gt; == 0)<br>
&gt;&gt; &gt;&gt; &gt;&gt; 5.      |           then<br>
&gt;&gt; &gt;&gt; &gt;&gt; 6.      |               ad.setReturnMsg( &quot;age should not be null or<br>
&gt;&gt; &gt;&gt; &gt;&gt; empty&quot;<br>
&gt;&gt; &gt;&gt; &gt;&gt; );<br>
&gt;&gt; &gt;&gt; &gt;&gt; 7.      |       end<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; where setReturnMsg is a method of ApplicationData Fact();<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; However, I got the validation error :<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; [Rule1] [ERR 101] Line 4:49 no viable alternative at input &#39;)&#39; in<br>
&gt;&gt; &gt;&gt; &gt;&gt; rule<br>
&gt;&gt; &gt;&gt; &gt;&gt; &quot;Rule1&quot; in pattern ApplicationData<br>
&gt;&gt; &gt;&gt; &gt;&gt; [Rule1] [ERR 102] Line 4:51 mismatched input &#39;==&#39; expecting &#39;)&#39; in<br>
&gt;&gt; &gt;&gt; &gt;&gt; rule &quot;Rule1&quot; in pattern ApplicationData<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Please help what the problem is.<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Thanks<br>
&gt;&gt; &gt;&gt; &gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; &gt;&gt; rules-users mailing list<br>
&gt;&gt; &gt;&gt; &gt;&gt; <a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
&gt;&gt; &gt;&gt; &gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; &gt; rules-users mailing list<br>
&gt;&gt; &gt;&gt; &gt; <a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
&gt;&gt; &gt;&gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; rules-users mailing list<br>
&gt;&gt; &gt;&gt; <a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
&gt;&gt; &gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt; rules-users mailing list<br>
&gt;&gt; &gt; <a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
&gt;&gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; rules-users mailing list<br>
&gt;&gt; <a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; rules-users mailing list<br>
&gt; <a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
&gt;<br>
&gt;<br>
<br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</blockquote></div><br>
</div></div><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" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
<br></blockquote></div><br>