[rules-users] Unable to create Field Extractor
Esteban Aliverti
esteban.aliverti at gmail.com
Sun May 30 21:51:21 EDT 2010
Did you try using:
AlarmFailureEvent(
btsNumber == $BTS.number,
$ID : ID
)
Note that btsNumber starts with a lowercase letter.
Best,
On Sun, May 30, 2010 at 9:04 PM, Djerir Smail <1983djerir at gmail.com> wrote:
> Hello everybody,
>
> *I need help please **I am new in drools, to start I am trying to
> write some simple examples with drools fusion . I wrote a rule which
> print a message when an alarm is received multiple times during 20
> minutes but i get this error
> *
> [java] Unable to create Field Extractor for 'BtsNumber' of
> '[ClassObjectType event=com.mfe.casestudy.pojo.AlarmFailureEvent]' in
> rule 'MaxBtsAlarmrule' : [Rule name='MaxBtsAlarmrule']
> [java] java.lang.IllegalArgumentException: Could not parse knowledge.
> [java] at
> com.mfe.casestudy.test.Tester.prepareKnowledgeBase(Tester.java:73)
> [java] at com.mfe.casestudy.test.Tester.setUp(Tester.java:43)
> [java] at com.mfe.casestudy.test.Tester.main(Tester.java:87)
> [java] Exception in thread "main" java.lang.NullPointerException
> [java] at
>
> com.mfe.casestudy.test.Tester.prepareStatefulKnowledgeSession(Tester.java:58)
> [java] at com.mfe.casestudy.test.Tester.setUp(Tester.java:44)
> [java] at com.mfe.casestudy.test.Tester.main(Tester.java:87)
> [java] Java Result: 1
> main:
>
>
> *This is my rule it calculates the number of alarms received from one
> BTS and if this number exceeds the threshold it prints a warning message *
> rule "MaxBtsAlarmrule"
> dialect "mvel"
> no-loop true
> salience 100
> when
> $BTS : BTS()
>
> # check if the number of alarms of last 20 minutes exceeds
> # the BTS threshold
> $numOfAlarms : Number( intValue > $BTS.threshold )
> from accumulate(
> AlarmFailureEvent(
> BtsNumber == $BTS.number,
> $ID : ID
> )
> over window:time(3) from
> entry-point BTSAlarmStream,
> count($ID)
> )
>
>
> then
> System.out.println("BTS should be restarted...");
>
> end
>
> Finally this is the alarm event class
>
> public class AlarmFailureEvent implements Serializable {
>
> /**
> *
> */
> private static final long serialVersionUID = 1L;
>
> public String BtsNumber = "";
> private int code = 0;
> private int ID=0;
> public AlarmFailureEvent(String BtsNumber, int code ,int ID) {
> this.BtsNumber = BtsNumber;
> this.ID=ID;
> this.code=code;
> }
>
> public void setID(int iD) {
> this.ID = iD;
> }
> public int getID() {
> return this.ID;
> }
> public void setCode(int code) {
> this.code = code;
> }
> public int getCode() {
> return this.code;
> }
>
> public void setBtsNumber(String btsNumber) {
> this.BtsNumber = btsNumber;
> }
>
> public String getBtsNumber() {
> return BtsNumber;
> }
>
> }
>
> *Thank you *
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Esteban Aliverti
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100530/b912d245/attachment.html
More information about the rules-users
mailing list