Hi All,

Is there a way to retrieve an object array from a Class getter in the when 
clause of a rule in a drl file ?  I have tried a lot of things but they did not 
work out.  The Problem is detailed below :-

The following class has a private parameter Column1 which is an Object type 
array.

public class EightColumnGenericClass {


                  private Object[] Column1;

                  /** Getters and Setters */
                  public Object[] getColumn1() {
                        return Column1;
                  }
                  public void setColumn1(Object[] column1) {
                        Column1 = column1;
                  }
}


Following is the method where I am creating the knowledgebase and utilizing it. 
 I am reading a file record and splitting the columns. The columns[] array gets 
saved into the attribute of the class defined above.

      public static void fnReadFromFile(String FilePath, String FileName){

                  /* Declarations and other code */

while ((str = brReadFromFile.readLine())!=null){

                        Columns = str.split(",");

                        ecgcPLC = new EightColumnGenericClass();
                        ecgcPLC.setColumn1(Columns);

                  ksession.insert(ecgcPLC);

                  }

                  ksession.fireAllRules();
}

I have to try and retrieve each cell of the Columns[] array in the entire 
collection and apply rules on individual cell.   My drl file is given below.

rule "SourceSystemId = value"

    when

            c: EightColumnGenericClass()
            Object[] columns: c.getColumn1();
            for (Object o : columns)
            {
                  System.out.println(o.toString());
# The condition I want here is - if (o.toString()=="1794")
            }
    then

        #RHS Code
end

Is there a way to achieve this?  Or is there something missing with my DRL 
file?  Please assist.

Thanks in Advance,
Amal


**************** CAUTION - Disclaimer *****************
This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely
for the use of the addressee(s). If you are not the intended recipient, please
notify the sender by e-mail and delete the original message. Further, you are 
not
to copy, disclose, or distribute this e-mail or its contents to any other 
person and
any such actions are unlawful. This e-mail may contain viruses. Infosys has 
taken
every reasonable precaution to minimize this risk, but is not liable for any 
damage
you may sustain as a result of any virus in this e-mail. You should carry out 
your
own virus checks before opening the e-mail or attachment. Infosys reserves the
right to monitor and review the content of all messages sent to or from this 
e-mail
address. Messages sent to or from this e-mail address may be stored on the
Infosys e-mail system.
***INFOSYS******** End of Disclaimer ********INFOSYS***
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to