First of all, why are you doing this:<br><br> p : Parametre( para1 : para1)<br>
eval (para1 == "para1")<br>You can directly do:<br> p : Parametre( para1 : para1 == "para1")<br><br>Can you show us the Drools Flow file?<br>To see what nodes do you include in that?<br>
Probably your Ruleset node (ruleflow-group) is never reached.<br><br>
<br><br><div class="gmail_quote">On Thu, Nov 26, 2009 at 8:18 AM, paf84 <span dir="ltr"><<a href="mailto:pierre.belhomme@sogeti.com">pierre.belhomme@sogeti.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Hello,<br>
<br>
I try to understand how to use Drolls.<br>
It's not the first time i work with rules (i know JRules).<br>
I have a probleme when i execute my ruleflow.<br>
I have some rules which belong to different ruleflow-group.<br>
I have put my ruleflow-group in my ruleflow.<br>
<br>
THe probleme is that my ruleflow never execute the "then" part of my rules.<br>
<br>
<br>
If i delete le ruleflow-group of my rules and i execute the drl file, all my<br>
"then" part are executed.<br>
I think i have a problem to give my facts to the ruleflow...<br>
<br>
Is somebody can help me ?<br>
<br>
thx!!<br>
<br>
<br>
Pierre<br>
<br>
<br>
<br>
<br>
<br>
my .java<br>
<br>
<br>
KnowledgeBase kbase = readKnowledgeBase();<br>
StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();<br>
KnowledgeRuntimeLogger logger =<br>
KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, "test");<br>
// start a new process instance<br>
System.out.println("init");<br>
Parametre parametre = new Parametre();<br>
parametre.para1 = "para1";<br>
parametre.para2 = "para2";<br>
Parametre parametre2 = new Parametre();<br>
parametre2.para1 = "para1";<br>
parametre2.para2 = "para2";<br>
ksession.insert(parametre);<br>
<br>
WorkItemHandler handler = new WorkItemHandler() {<br>
public void executeWorkItem(WorkItem workItem,WorkItemManager manager) {<br>
System.out.println(">" + workItem.getParameters());<br>
System.out.println("Executing work item " + workItem);<br>
manager.completeWorkItem(workItem.getId(), null);<br>
}<br>
<br>
public void abortWorkItem(WorkItem workItem,<br>
WorkItemManager manager) {<br>
// Do nothing<br>
}<br>
};<br>
<br>
<br>
Map<String, Object> parametersDispo = new HashMap<String, Object>();<br>
parametersDispo.put("parametre", parametre);<br>
<br>
<br>
<br>
ksession.getWorkItemManager().registerWorkItemHandler("groupe1",<br>
handler);<br>
<br>
ksession.startProcess("com.sample.ruleflow1", parametersDispo);<br>
<br>
ksession.fireAllRules();<br>
logger.close();<br>
} catch (Throwable t) {<br>
t.printStackTrace();<br>
}<br>
}<br>
<br>
private static KnowledgeBase readKnowledgeBase() throws Exception {<br>
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();<br>
kbuilder.add(ResourceFactory.newClassPathResource("Sample4.drl",<br>
RuleFlowTest.class), ResourceType.DRL);<br>
kbuilder.add(ResourceFactory.newClassPathResource("ruleFlow1.rf"),<br>
ResourceType.DRF);<br>
<br>
KnowledgeBuilderErrors errors = kbuilder.getErrors();<br>
if (errors.size() > 0) {<br>
for (KnowledgeBuilderError error: errors) {<br>
System.err.println(error);<br>
}<br>
throw new IllegalArgumentException("Could not parse knowledge.");<br>
}<br>
KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();<br>
kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());<br>
return kbase;<br>
}<br>
<br>
<br>
public static class Parametre {<br>
<br>
private String para1;<br>
private String para2;<br>
<br>
<br>
public String getPara1(){<br>
return this.para1;<br>
}<br>
public String getPara2(){<br>
return this.para2;<br>
}<br>
<br>
<br>
}<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
One of my rules :<br>
<br>
rule "test 1"<br>
<br>
ruleflow-group "groupe1"<br>
when<br>
p : Parametre( para1 : para1)<br>
eval (para1 == "para1")<br>
<br>
then<br>
System.out.println( "groupe1 test 1" );<br>
<br>
end<br>
<font color="#888888"><br>
--<br>
View this message in context: <a href="http://old.nabble.com/RuleFlow-and-facts-tp26525341p26525341.html" target="_blank">http://old.nabble.com/RuleFlow-and-facts-tp26525341p26525341.html</a><br>
Sent from the drools - user mailing list archive at Nabble.com.<br>
<br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</font></blockquote></div><br><br clear="all"><br>-- <br> - <a href="http://salaboy.wordpress.com">http://salaboy.wordpress.com</a><br> - <a href="http://www.jbug.com.ar">http://www.jbug.com.ar</a><br> - Salatino "Salaboy" Mauricio -<br>