[rules-users] Call a function from a function?

Michael Katai mk.others at gmx.at
Mon May 19 13:19:29 EDT 2008


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 at lists.jboss.org
[mailto:rules-users-bounces at 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 at lists.jboss.org
[mailto:rules-users-bounces at 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 at 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 at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20080519/5e333006/attachment.html 


More information about the rules-users mailing list