I’m having a hard time understanding the syntax in the conditional or left hand side of the DRL.  Is it acceptable to use dot notation in the LHS?  Is there a better way to compare fields on different objects?

 

In the example below, I get an error “Unable to find class $d1.  What limitations are there syntactically on the left hand side?  Any help would be greatly appreciated.  I have looked at all the examples and have googled the problem and don’t seem to find the answer.

 

package com.rules

 

#list any import classes here.

import com.validate.Date1

import com.validate.Date2

import java.util.Date

 

#declare any global variables here

 

rule "Your First Rule"

   

      when

      $d1 : Date1()    

      $d2 : Date2()

      $d2 : Date2(beginDate > $d1.getEndDate)

      then

            #actions

            System.out.println("do something");

end

 

Best regards,

 

Robert Costello