Rajesh,

   If you are using 4.0 MR2, it should work. In 3.0.x is not possible to nest multiple patterns inside an EXISTS and NOT CEs.
   Although, the following is an example of the rule that works both in 3.0.x and 4.0.

rule XXX
when
    $student : Student()
    exists Module( student == $student, score < 40 )
then
    // add $student to the list of students that failed a module
end

    Hope it helps,

      Edson

2007/5/31, Rajesh.Sachin10 <rajesh_sachin10@yahoo.co.in>:

I got the following exception when I tried to run the drl file rule.

org.drools.rule.InvalidRulePackage: unknown:13:37 mismatched token:
[@79,307:308='&&',<55>,13:37]; expecting type ')'
unknown:13:81 Unexpected token ')'

        at org.drools.rule.Package.checkValidity(Unknown Source)
        at org.drools.common.AbstractRuleBase.addPackage(Unknown Source)
        at com.sample.DroolsTest.main (DroolsTest.java:47)


Rule:

package com.policy;
#expander Ex1.dsl;
#list any import classes here.
#import java.util.HashMap;
import java.util.Iterator;
import com.examples.Student;
import com.examples.Module;
#declare any global variables here
global java.util.List errorlist;

rule "Ex1"
    when
        exists( $student : Student() && Module( student == $student, score <
40 ))
    then
        System.out.println("fierd");
end


Files:
Class 1:

package com.examples;


public class Student {
        private String name;
    private Object[] modules;
        public Object[] getModules() {
                return modules;
        }
        public void setModules(Object[] modules) {
                this.modules = modules;
        }
        public String getName() {
                return name;
        }
        public void setName(String name) {
                this.name = name;
        }

}




class 2:

package com.examples;

public class Module {
    private String name;
    private String studentName;
    private int score;

    public Module(String name, int score){
        this.setName(name);
         this.setScore(score);
    }


        public String getName() {
                return name;
        }
        public void setName(String name) {

                this.name = name;
        }
        public int getScore() {
                return score;
        }
        public void setScore(int score) {
                this.score = score;
        }
        public String getStudentName() {
                return studentName;
        }
        public void setStudentName(String studentName) {
                this.studentName = studentName;
        }
}


Anyone have any idea about it


--
View this message in context: http://www.nabble.com/Unexpected-Token-Exception-tf3848843.html#a10901896
Sent from the drools - user mailing list archive at Nabble.com.

_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users



--
  Edson Tirelli
  Software Engineer - JBoss Rules Core Developer
  Office: +55 11 3529-6000
  Mobile: +55 11 9287-5646
  JBoss, a division of Red Hat @ www.jboss.com