Michael,

  Can you please open a JIRA for it?
  It is probably a problem with a text replace algorithm that is being used.

   []s
   Edson

2008/5/19 Michael Katai <mk.others@gmx.at>:

Hello Shahad!

 

Now, i've a solution for my problem and it looks like a Bug. First, the order of the functions isn't important, but I think it's a very strange problem with the name of my functions.

 

Here my concrete values:

 

  rule

    when

    then

      checkHierachyInstance(...)

  end

 

  function void checkHierachyInstance(...)

  {

    checkHierachyInstanceRecursive(...);

  }

 

  function void checkHierachyInstanceRecursive(...)

  {

  }

 

As far as i have found out, the error occurs ONLY if I append anything to the functionname "checkHierachyInstance", in my case the word "Recursive". It works if I use a completely different name instead of "checkHierachyInstanceRecursive" or exchange a character in "checkHierachyInstanceRecursive". For example i can use "function void myFunc(...)" or "function void checkHierachyInstancRecursive(...)".

 

The only combination of function names i'm not allowed to use is checkHierachyInstance and checkHierachyInstanceXXXXX

 

I've never seen such a curiosity before.

Best regards, michael

 

 

 

From: rules-users-bounces@lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] On Behalf Of Michael Katai
Sent: Monday, May 19, 2008 6:00 PM
To: 'Rules Users List'
Subject: RE: [rules-users] Call a function from a function?

 

Thank you Shahad for your advise, but i doesn't help. I get still the error.

 

regards,

  michael

 

 

From: rules-users-bounces@lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] On Behalf Of Shahad Ahmed
Sent: Monday, May 19, 2008 3:57 PM
To: Rules Users List
Subject: Re: [rules-users] Call a function from a function?

 

Hi Michael,

 

I had a similar problem, but found that if I declared func2 before func1 (i.e. func2 appears above func1 in a drl file) then you can call func2 in func1. I'm not sure if this is a bug in drools or a limitation of the parser.

 

Regards

Shahad

On Mon, May 19, 2008 at 1:58 PM, Michael Katai <mk.others@gmx.at> wrote:

Hello!

Is it possible to call a Function in a Function?

For example:

 rule
   when
   then
     func1(data1, data2);
 end

 function void func1(MyClass1 data1, MyClass2 data2)
 {
   func2(data1, data2);
 }

 function void func2(MyClass1 data1, MyClass2 data2)
 {
 }

When I do so, i get the error message:

func1 : Function Compilation error
func1 (line:x): The method func2(MyClass1, MyClass2) is undefined for the
type Func1

Any suggestions?
michael

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

 


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




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