Hi,
i have some problems with custom functions and types.
I m using Drools 5.0 and Eclipse 3.4.2 (have to use these eclipse version, so my decision was to use the drools beta).
I declared a type in my rule file like :
declare VarHolder
var1 : String
var2 : Long
var3 : String
end
also i specified a custom function in the same file, which i have to use in my rules (it’s a example function) :
function String hello(String name) {
return "Hello "+name+"!";
}
.
The declared Type will be used in the java code :
// handle the type as necessary:
// create instances:
Object vars = varHolderTyp.newInstance();
// set attributes values
varHolderTyp.setFromMap(vars,varMap);
// insert fact into a session
StatefulKnowledgeSession ksession = ...
ksession.insert( vars );
When it comes to the “setFromMap”, then I get a ClassCastException for the VarHolderTyp. But when I remove the declaration of the function in the rule file, then everything works fine (all variables will be filled correctly). It seems, that the reflection mechanism will not work correctly, when drools want to create the Pojo for VarHolder and the Static Method for the function. But it s very difficult to debug, because the exception fires in the drools engine.
Maybe I’ve make a mistake so anyone knows a solution for this problem or can tell me, where my mistake is. It will be nice, when I can declare a type and a function together in one rule file. At the moment, I created a java class for VarHolder, so the exception does not appear, but I m losing a lot of dynamic.
Please give me a hint