[rules-users] Bugs in rule templates?

Bruno Freudensprung bruno.freudensprung at temis.com
Thu Nov 3 07:59:30 EDT 2011


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


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20111103/07ea23f7/attachment.html 


More information about the rules-users mailing list