Hi Wolfgang,

Sure. Please find attached a small Maven/Eclipse project containing 3 DRT and 3 unit test cases (Java in src/test/java/org/drools/bug, rules in src/test/resource/org/drools/bug) :
Regards,

Bruno.

Le 03/11/2011 14:07, Wolfgang Laun a écrit :
Before you work on a JIRA could you please provide an (abbreviated) example of a template that causes both errors?
-W

2011/11/3 Bruno Freudensprung <bruno.freudensprung@temis.com>
Hi all,

I am writing rules using Drools Templates and I noticed strange problems (ocurring when I slightly modify a DRT that works well):
  1. the template instanciation depends on the declarations order of the parameters in the template header
  2. if the rule template does not contain a package declaration (default package) the instanciation of the template fails
I am working with Drools 5.1.1 but those problems occur in 5.2.0.Final and in 5.3.0.Final as well.
Do you think it is worth posting a JIRA?

Anyway let me tell you that Drools Templates are great! Our users like that feature a lot! They start writing a rule in DRL format and, once it works, they transform it into a DRT and put data into a tsv file. It is quite a natural way of working. The general perception here is that it is easier to "templatize" an existing DRL than to write a decision table from scratch.

Best regards,

Bruno.

PS:

DRT that works well:

template header
name
message

package templates;

import org.drools.bug.Entity;

template "TestTemplate"
rule "Test1 @{row.rowNumber}"
    dialect "mvel"
    when
        Entity( $name : name == "@{name}" )
    then
        System.out.println("@{message}" + $name);
        insert($name);
end
end template

DRT that does not work (first case):

template header
message
name

package templates;

import org.drools.bug.Entity;

template "TestTemplate"
rule "Test1 @{row.rowNumber}"
    dialect "mvel"
    when
        Entity( $name : name == "@{name}" )
    then
        System.out.println("@{message}" + $name);
        insert($name);
end
end template



DRT that does not work (second case):

template header
name
message

import org.drools.bug.Entity;

template "TestTemplate"
rule "Test1 @{row.rowNumber}"
    dialect "mvel"
    when
        Entity( $name : name == "@{name}" )
    then
        System.out.println("@{message}" + $name);
        insert($name);
end
end template




_______________________________________________
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