<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Esteban Aliverti a écrit :
<blockquote
cite="mid:AANLkTinF8oMVMUsrLNzAtWd7YjwO8OL0zSDj1xXUIOWo@mail.gmail.com"
type="cite">Did you try using:
<div><br>
</div>
<div><span class="Apple-style-span"
style="font-family: arial,sans-serif; font-size: 13px; border-collapse: collapse;">
AlarmFailureEvent(<br>
btsNumber == $BTS.number,<br>
$ID : ID<br>
)</span></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span
class="Apple-style-span" style="border-collapse: collapse;"><br>
</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span
class="Apple-style-span" style="border-collapse: collapse;">Note that
btsNumber starts with a lowercase letter.</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span
class="Apple-style-span" style="border-collapse: collapse;"><br>
</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span
class="Apple-style-span" style="border-collapse: collapse;">Best,<br>
</span></font><br>
<div class="gmail_quote">On Sun, May 30, 2010 at 9:04 PM, Djerir
Smail <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:1983djerir@gmail.com">1983djerir@gmail.com</a>></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;">Hello
everybody,<br>
<br>
*I need help please **I am new in drools, to start I am trying to<br>
write some simple examples with drools fusion . I wrote a rule which<br>
print a message when an alarm is received multiple times during 20<br>
minutes but i get this error<br>
*<br>
[java] Unable to create Field Extractor for 'BtsNumber' of<br>
'[ClassObjectType event=com.mfe.casestudy.pojo.AlarmFailureEvent]' in<br>
rule 'MaxBtsAlarmrule' : [Rule name='MaxBtsAlarmrule']<br>
[java] java.lang.IllegalArgumentException: Could not parse
knowledge.<br>
[java] at<br>
com.mfe.casestudy.test.Tester.prepareKnowledgeBase(Tester.java:73)<br>
[java] at com.mfe.casestudy.test.Tester.setUp(Tester.java:43)<br>
[java] at com.mfe.casestudy.test.Tester.main(Tester.java:87)<br>
[java] Exception in thread "main" java.lang.NullPointerException<br>
[java] at<br>
com.mfe.casestudy.test.Tester.prepareStatefulKnowledgeSession(Tester.java:58)<br>
[java] at com.mfe.casestudy.test.Tester.setUp(Tester.java:44)<br>
[java] at com.mfe.casestudy.test.Tester.main(Tester.java:87)<br>
[java] Java Result: 1<br>
main:<br>
<br>
<br>
*This is my rule it calculates the number of alarms received from one<br>
BTS and if this number exceeds the threshold it prints a warning
message *<br>
rule "MaxBtsAlarmrule"<br>
dialect "mvel"<br>
no-loop true<br>
salience 100<br>
when<br>
$BTS : BTS()<br>
<br>
# check if the number of alarms of last 20 minutes exceeds<br>
# the BTS threshold<br>
$numOfAlarms : Number( intValue > $BTS.threshold )<br>
from accumulate(<br>
AlarmFailureEvent(<br>
BtsNumber == $BTS.number,<br>
$ID : ID<br>
)<br>
over window:time(3) from<br>
entry-point BTSAlarmStream,<br>
count($ID)<br>
)<br>
<br>
<br>
then<br>
System.out.println("BTS should be restarted...");<br>
<br>
end<br>
<br>
Finally this is the alarm event class<br>
<br>
public class AlarmFailureEvent implements Serializable {<br>
<br>
/**<br>
*<br>
*/<br>
private static final long serialVersionUID = 1L;<br>
<br>
public String BtsNumber = "";<br>
private int code = 0;<br>
private int ID=0;<br>
public AlarmFailureEvent(String BtsNumber, int code ,int ID) {<br>
this.BtsNumber = BtsNumber;<br>
this.ID=ID;<br>
this.code=code;<br>
}<br>
<br>
public void setID(int iD) {<br>
this.ID = iD;<br>
}<br>
public int getID() {<br>
return this.ID;<br>
}<br>
public void setCode(int code) {<br>
this.code = code;<br>
}<br>
public int getCode() {<br>
return this.code;<br>
}<br>
<br>
public void setBtsNumber(String btsNumber) {<br>
this.BtsNumber = btsNumber;<br>
}<br>
<br>
public String getBtsNumber() {<br>
return BtsNumber;<br>
}<br>
<br>
}<br>
<br>
*Thank you *<br>
_______________________________________________<br>
rules-users mailing list<br>
<a moz-do-not-send="true" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a moz-do-not-send="true"
href="https://lists.jboss.org/mailman/listinfo/rules-users"
target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX<br>
<br>
Esteban Aliverti<br>
</div>
<pre wrap="">
<hr size="4" width="90%">
_______________________________________________
rules-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a>
</pre>
</blockquote>
Thank you I tryed btsNumber with lowercase and it works now<br>
<br>
Smail Djerir<br>
</body>
</html>