I&#39;ll inform if the error still remains.<div>Need to test with big data.</div><div><br></div><div>@Data and  @EqualsAndHashCode annotation is lombok library to create setter and getter while compile.<br><br><div class="gmail_quote">
2012/1/20 Michael Anstis <span dir="ltr">&lt;<a href="mailto:michael.anstis@gmail.com">michael.anstis@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Does your problem remain?<br><br>The DRL and Java code appear fine.<br><br>If you are still having problems, please explain your entire process to replicate the problem: from authoring in Guvnor, to creating a KnowledgeBase, Session and calling fireAllRules. Can you please also advise if the problem remains if you don&#39;t include the @Data and @EqualsAndHashCode annotations on your bean (not knowing what they do, or how they might affect drools-expert, it is worth removing them to try and isolate the cause of your problem).<br>

<br>With kind regards,<br><br>Mike<div class="HOEnZb"><div class="h5"><br><br><div class="gmail_quote">2012/1/19 mujoko mujoko <span dir="ltr">&lt;<a href="mailto:mujoko.mujoko@gmail.com" target="_blank">mujoko.mujoko@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi <div><br></div><div><br></div><div><br></div><div>Here is my CDR class</div><div><br></div><div><div>package com.rbtsb.tm.meter.model;</div><div><br></div><div>import java.text.DateFormat;</div><div>import java.text.ParseException;</div>


<div>import java.text.SimpleDateFormat;</div><div>import java.util.Date;</div><div><br></div><div>import javax.persistence.Transient;</div><div><br></div><div>import lombok.Data;</div><div>import lombok.EqualsAndHashCode;</div>


<div><br></div><div>import org.apache.log4j.Logger;</div><div><br></div><div>/**</div><div> * This Class is the same as CDRRepository with additional 2 attribute, and</div><div> * created for Rule Purpose.</div><div> * </div>


<div> * @author akhfa</div><div> */</div><div>@Data</div><div>@EqualsAndHashCode(callSuper = false)</div><div>public class CDR implements CSVData {</div><div><br></div><div><span style="white-space:pre-wrap">        </span>/**</div>


<div><span style="white-space:pre-wrap">        </span> * log Injected.</div><div><span style="white-space:pre-wrap">        </span> */</div><div><span style="white-space:pre-wrap">        </span>private static final Logger LOG = Logger.getLogger(CDR.class);</div>


<div><br></div><div><span style="white-space:pre-wrap">        </span>/**</div><div><span style="white-space:pre-wrap">        </span> * nxxSrvUsageCode.</div><div><span style="white-space:pre-wrap">        </span> */</div>
<div><span style="white-space:pre-wrap">        </span>private String nxxSrvUsageCode;</div><div><span style="white-space:pre-wrap">        </span>/**</div><div><span style="white-space:pre-wrap">        </span> * aNumber.</div>
<div><span style="white-space:pre-wrap">        </span> */</div><div><span style="white-space:pre-wrap">        </span>private String aNumber;</div><div><span style="white-space:pre-wrap">        </span>/**</div>
<div><span style="white-space:pre-wrap">        </span> * bNumber.</div><div><span style="white-space:pre-wrap">        </span> */</div><div><span style="white-space:pre-wrap">        </span>private String bNumber;</div>
<div><span style="white-space:pre-wrap">        </span>/**</div><div><span style="white-space:pre-wrap">        </span> * cNumber.</div><div><span style="white-space:pre-wrap">        </span> */</div>
<div><span style="white-space:pre-wrap">        </span>private String cNumber;</div><div><span style="white-space:pre-wrap">        </span>/**</div><div><span style="white-space:pre-wrap">        </span> * stdTollUsageDate.</div>
<div><span style="white-space:pre-wrap">        </span> */</div><div><span style="white-space:pre-wrap">        </span>private String stdTollUsageDate;</div><div><br></div><div><span style="white-space:pre-wrap">        </span>/** this is helper for stdTollUsage date with format &#39;yyyymmdd&#39;. */</div>


<div><span style="white-space:pre-wrap">        </span>private Date usageDate;</div><div><br></div><div><span style="white-space:pre-wrap">        </span>/** getter for usageDate, for ruleEngine purpose. */</div>
<div><span style="white-space:pre-wrap">        </span>public Date getUsageDate() {</div><div><span style="white-space:pre-wrap">                </span>// txt format &#39;yyyymmdd&#39;</div><div><span style="white-space:pre-wrap">                </span>String strDate = this.stdTollUsageDate;</div>


<div><span style="white-space:pre-wrap">                </span>DateFormat formatter = new SimpleDateFormat(&quot;yyyyMMdd&quot;);</div><div><span style="white-space:pre-wrap">                </span>try {</div><div>
<span style="white-space:pre-wrap">                        </span>this.usageDate = formatter.parse(strDate);</div><div><span style="white-space:pre-wrap">                </span>} catch (ParseException pe) {</div><div><span style="white-space:pre-wrap">                        </span>LOG.error(pe.getMessage());</div>


<div><span style="white-space:pre-wrap">                </span>}</div><div><span style="white-space:pre-wrap">                </span>return this.usageDate;</div><div><span style="white-space:pre-wrap">        </span>}</div>
<div><br></div><div><span style="white-space:pre-wrap">        </span>/**</div><div><span style="white-space:pre-wrap">        </span> * stdTollStartTime.</div><div><span style="white-space:pre-wrap">        </span> */</div>
<div><span style="white-space:pre-wrap">        </span>private String stdTollStartTime;</div><div><span style="white-space:pre-wrap">        </span>/**</div><div><span style="white-space:pre-wrap">        </span> * tollRatedFullAmount.</div>


<div><span style="white-space:pre-wrap">        </span> */</div><div><span style="white-space:pre-wrap">        </span>private String tollRatedFullAmount;</div><div><span style="white-space:pre-wrap">        </span>/**</div>
<div><span style="white-space:pre-wrap">        </span> * tollRatedChargedAmount.</div><div><span style="white-space:pre-wrap">        </span> */</div><div><span style="white-space:pre-wrap">        </span>private String tollRatedChargedAmount;</div>


<div><span style="white-space:pre-wrap">        </span>/**</div><div><span style="white-space:pre-wrap">        </span> * tollSurchargeAmount.</div><div><span style="white-space:pre-wrap">        </span> */</div>
<div><span style="white-space:pre-wrap">        </span>private String tollSurchargeAmount;</div><div><span style="white-space:pre-wrap">        </span>/**</div><div><span style="white-space:pre-wrap">        </span> * stdTollDurationTime.</div>


<div><span style="white-space:pre-wrap">        </span> */</div><div><span style="white-space:pre-wrap">        </span>private String stdTollDurationTime;</div><div><span style="white-space:pre-wrap">        </span>/**</div>
<div><span style="white-space:pre-wrap">        </span> * geogLocName.</div><div><span style="white-space:pre-wrap">        </span> */</div><div><span style="white-space:pre-wrap">        </span>private String geogLocName;</div>
<div><span style="white-space:pre-wrap">        </span>/**</div><div><span style="white-space:pre-wrap">        </span> * callClassCode.</div><div><span style="white-space:pre-wrap">        </span> */</div>
<div><span style="white-space:pre-wrap">        </span>private String callClassCode;</div><div><span style="white-space:pre-wrap">        </span>/**</div><div><span style="white-space:pre-wrap">        </span> * callTypeCode.</div>
<div><span style="white-space:pre-wrap">        </span> */</div><div><span style="white-space:pre-wrap">        </span>private String callTypeCode;</div><div><span style="white-space:pre-wrap">        </span>/**</div>
<div><span style="white-space:pre-wrap">        </span> * billingChargeCode.</div><div><span style="white-space:pre-wrap">        </span> */</div><div><span style="white-space:pre-wrap">        </span>private String billingChargeCode;</div>
<div><span style="white-space:pre-wrap">        </span>/**</div><div><span style="white-space:pre-wrap">        </span> * billingClassCode.</div><div><span style="white-space:pre-wrap">        </span> */</div>
<div><span style="white-space:pre-wrap">        </span>private String billingClassCode;</div><div><span style="white-space:pre-wrap">        </span>/**</div><div><span style="white-space:pre-wrap">        </span> * tlDiscountCode.</div>
<div><span style="white-space:pre-wrap">        </span> */</div><div><span style="white-space:pre-wrap">        </span>private String tlDiscountCode;</div><div><span style="white-space:pre-wrap">        </span>/**</div>
<div><span style="white-space:pre-wrap">        </span> * remarksA.</div><div><span style="white-space:pre-wrap">        </span> */</div><div><span style="white-space:pre-wrap">        </span>private String remarksA;</div>
<div><span style="white-space:pre-wrap">        </span>/**</div><div><span style="white-space:pre-wrap">        </span> * remarksB.</div><div><span style="white-space:pre-wrap">        </span> */</div>
<div><span style="white-space:pre-wrap">        </span>private String remarksB;</div><div><span style="white-space:pre-wrap">        </span>/**</div><div><span style="white-space:pre-wrap">        </span> * rateBandCode.</div>
<div><span style="white-space:pre-wrap">        </span> */</div><div><span style="white-space:pre-wrap">        </span>private String rateBandCode;</div><div><span style="white-space:pre-wrap">        </span>/**</div>
<div><span style="white-space:pre-wrap">        </span> * emergenSpareOlnosIndicator.</div><div><span style="white-space:pre-wrap">        </span> */</div><div><span style="white-space:pre-wrap">        </span>private String emergenSpareOlnosIndicator;</div>


<div><span style="white-space:pre-wrap">        </span>/**</div><div><span style="white-space:pre-wrap">        </span> * ttmc.</div><div><span style="white-space:pre-wrap">        </span> */</div>
<div><span style="white-space:pre-wrap">        </span>private String ttmc;</div><div><span style="white-space:pre-wrap">        </span>/**</div><div><span style="white-space:pre-wrap">        </span> * mobileAlphaCode.</div>
<div><span style="white-space:pre-wrap">        </span> */</div><div><span style="white-space:pre-wrap">        </span>private String mobileAlphaCode;</div><div><span style="white-space:pre-wrap">        </span>/**</div>
<div><span style="white-space:pre-wrap">        </span> * customerProfile</div><div><span style="white-space:pre-wrap">        </span> */</div><div><span style="white-space:pre-wrap">        </span>private CustomerProfile customerProfile;</div>


<div><br></div><div><span style="white-space:pre-wrap">        </span>private String tag = &quot;0&quot;;</div><div><br></div><div><span style="white-space:pre-wrap">        </span>/**</div><div><span style="white-space:pre-wrap">        </span> * TosDatCode List</div>


<div><span style="white-space:pre-wrap">        </span> */</div><div><span style="white-space:pre-wrap">        </span>// private List&lt;TosDatCode&gt; tosDatCodeList = null;</div><div><br></div><div>
<span style="white-space:pre-wrap">        </span>/** Boolean field for rule purpose. */</div><div><span style="white-space:pre-wrap">        </span>private Boolean isDrop = false;</div><div><br></div>
<div><span style="white-space:pre-wrap">        </span>/** Boolean field for rule purpose. */</div><div><span style="white-space:pre-wrap">        </span>// private Boolean isTag = false;</div><div><br>
</div><div><span style="white-space:pre-wrap">        </span>/** For rule purpose, describe reason why CDR is dropped. */</div><div><span style="white-space:pre-wrap">        </span>private String dropReason;</div>
<div><br></div><div><span style="white-space:pre-wrap">        </span>/** For rule purpose, ProductTagging. */</div><div><span style="white-space:pre-wrap">        </span>private String productName;</div>
<div><br></div><div><span style="white-space:pre-wrap">        </span>/** For rule purpose, ProductTagging. */</div><div><span style="white-space:pre-wrap">        </span>private String specialIndicator;</div>
<div><br></div><div><span style="white-space:pre-wrap">        </span>/** For rule purpose, ProductTagging. */</div><div><br></div><div><span style="white-space:pre-wrap">        </span>private String productRuleName;</div>
<div><br></div><div><span style="white-space:pre-wrap">        </span>public boolean isDrop() {</div><div><span style="white-space:pre-wrap">                </span>return isDrop;</div><div><span style="white-space:pre-wrap">        </span>}</div>
</div><div><br></div><div><div><div>}<br><br><div class="gmail_quote">On Wed, Jan 18, 2012 at 7:57 PM, Wolfgang Laun <span dir="ltr">&lt;<a href="mailto:wolfgang.laun@gmail.com" target="_blank">wolfgang.laun@gmail.com</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Please show field and getter declarations in class CDR<br>
<span><font color="#888888">-W<br>
</font></span><div><div><br>
On 18/01/2012, mujoko mujoko &lt;<a href="mailto:mujoko.mujoko@gmail.com" target="_blank">mujoko.mujoko@gmail.com</a>&gt; wrote:<br>
&gt; For your info, for the same rules. It&#39;s not always happen, the error some<br>
&gt; times coming.<br>
&gt; For me the rule is fine (I used guvnor)<br>
&gt; Here is the rule<br>
&gt;<br>
&gt; import com.rbtsb.tm.meter.model.CDR;<br>
&gt; import org.apache.log4j.Logger;<br>
&gt;<br>
&gt; global Logger log;<br>
&gt;<br>
&gt; rule &quot;ProductTag-FixedSMS&quot;<br>
&gt;<br>
&gt; when<br>
&gt; $cdr : CDR(callClassCode == &quot;F1&quot; || callClassCode == &quot;F2&quot; )<br>
&gt; then<br>
&gt; $cdr.setProductName(&quot;fixedsms&quot;);<br>
&gt; end<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; 2012/1/18 Michael Anstis &lt;<a href="mailto:michael.anstis@gmail.com" target="_blank">michael.anstis@gmail.com</a>&gt;<br>
&gt;<br>
&gt;&gt; You&#39;re going to give a little more information, such as the DRL you&#39;re<br>
&gt;&gt; unable to compile.<br>
&gt;&gt;<br>
&gt;&gt; 2012/1/18 mujoko mujoko &lt;<a href="mailto:mujoko.mujoko@gmail.com" target="_blank">mujoko.mujoko@gmail.com</a>&gt;<br>
&gt;&gt;<br>
&gt;&gt;&gt; Hi Drools Users,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I&#39;m new member, Mujoko.<br>
&gt;&gt;&gt; I got issue regarding my rules. Several times got exception when trying<br>
&gt;&gt;&gt; to<br>
&gt;&gt;&gt; create KnowledgeSession. I used drools-core 5.3.0.Final and<br>
&gt;&gt;&gt; drools-compiler 5.3.0.Final.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; java.lang.ArrayIndexOutOfBoundsException: -1<br>
&gt;&gt;&gt;        at org.mvel2.asm.Frame.merge(Frame.java:1373)<br>
&gt;&gt;&gt;        at org.mvel2.asm.Frame.merge(Frame.java:1350)<br>
&gt;&gt;&gt;        at org.mvel2.asm.MethodWriter.visitMaxs(MethodWriter.java:1282)<br>
&gt;&gt;&gt;        at<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; org.drools.rule.builder.dialect.asm.ClassGenerator$MethodDescr.write(ClassGenerator.java:480)<br>
&gt;&gt;&gt;        at<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; org.drools.rule.builder.dialect.asm.ClassGenerator.generateBytecode(ClassGenerator.java:50)<br>
&gt;&gt;&gt;        at<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; org.drools.rule.builder.dialect.asm.ASMEvalBuilder.createEvalBytecode(ASMEvalBuilder.java:63)<br>
&gt;&gt;&gt;        at<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; org.drools.rule.builder.dialect.asm.AbstractASMEvalBuilder.build(AbstractASMEvalBuilder.java:49)<br>
&gt;&gt;&gt;        at<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; org.drools.rule.builder.dialect.asm.AbstractASMEvalBuilder.build(AbstractASMEvalBuilder.java:15)<br>
&gt;&gt;&gt;        at<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; org.drools.rule.builder.GroupElementBuilder.build(GroupElementBuilder.java:65)<br>
&gt;&gt;&gt;        at org.drools.rule.builder.RuleBuilder.build(RuleBuilder.java:80)<br>
&gt;&gt;&gt;        at<br>
&gt;&gt;&gt; org.drools.compiler.PackageBuilder.addRule(PackageBuilder.java:2289)<br>
&gt;&gt;&gt;        at<br>
&gt;&gt;&gt; org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:822)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; --<br>
&gt;&gt;&gt; Mujoko<br>
&gt;&gt;&gt; <a href="http://www.linkedin.com/in/mujoko" target="_blank">http://www.linkedin.com/in/mujoko</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;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Mujoko<br>
&gt; <a href="http://www.linkedin.com/in/mujoko" target="_blank">http://www.linkedin.com/in/mujoko</a><br>
&gt;<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>
</div></div></blockquote></div><br><br clear="all"><div><br></div></div></div><span><font color="#888888">-- <br>Mujoko<br><a href="http://www.linkedin.com/in/mujoko" target="_blank">http://www.linkedin.com/in/mujoko</a><br>

<br>
</font></span></div>
<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>
<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><br clear="all"><div><br></div>-- <br>Mujoko<br><a href="http://www.linkedin.com/in/mujoko" target="_blank">http://www.linkedin.com/in/mujoko</a><br><br>
</div>