[rules-users] RuleFlow and facts
paf84
pierre.belhomme at sogeti.com
Thu Nov 26 08:09:22 EST 2009
I have deleted the variable... But the rules is often not working !
I'm so desperate...
Salaboy wrote:
>
> Hmm.. I see that you use the parametre object as a process variable and
> also
> as a fact.
> Remove it from the parametre variable in the process.
>
> On Thu, Nov 26, 2009 at 10:41 AM, paf84 <pierre.belhomme at sogeti.com>
> wrote:
>
>>
>> i have replace my when condition by : p : Parametre( para1 : para1 ==
>> "para1").
>> Thx !
>> The node is reached, i have an action node after it and il works...
>>
>> http://old.nabble.com/file/p26528902/ruleFlow1.rf ruleFlow1.rf
>>
>> Thx for your help.
>>
>>
>> Salaboy wrote:
>> >
>> > First of all, why are you doing this:
>> >
>> > p : Parametre( para1 : para1)
>> > eval (para1 == "para1")
>> > You can directly do:
>> > p : Parametre( para1 : para1 == "para1")
>> >
>> > Can you show us the Drools Flow file?
>> > To see what nodes do you include in that?
>> > Probably your Ruleset node (ruleflow-group) is never reached.
>> >
>> >
>> >
>> > On Thu, Nov 26, 2009 at 8:18 AM, paf84 <pierre.belhomme at sogeti.com>
>> wrote:
>> >
>> >>
>> >> Hello,
>> >>
>> >> I try to understand how to use Drolls.
>> >> It's not the first time i work with rules (i know JRules).
>> >> I have a probleme when i execute my ruleflow.
>> >> I have some rules which belong to different ruleflow-group.
>> >> I have put my ruleflow-group in my ruleflow.
>> >>
>> >> THe probleme is that my ruleflow never execute the "then" part of my
>> >> rules.
>> >>
>> >>
>> >> If i delete le ruleflow-group of my rules and i execute the drl file,
>> all
>> >> my
>> >> "then" part are executed.
>> >> I think i have a problem to give my facts to the ruleflow...
>> >>
>> >> Is somebody can help me ?
>> >>
>> >> thx!!
>> >>
>> >>
>> >> Pierre
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> my .java
>> >>
>> >>
>> >> KnowledgeBase kbase = readKnowledgeBase();
>> >> StatefulKnowledgeSession ksession =
>> >> kbase.newStatefulKnowledgeSession();
>> >> KnowledgeRuntimeLogger logger =
>> >> KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, "test");
>> >> // start a new process instance
>> >> System.out.println("init");
>> >> Parametre parametre = new Parametre();
>> >> parametre.para1 = "para1";
>> >> parametre.para2 = "para2";
>> >> Parametre parametre2 = new Parametre();
>> >> parametre2.para1 = "para1";
>> >> parametre2.para2 = "para2";
>> >> ksession.insert(parametre);
>> >>
>> >> WorkItemHandler handler = new WorkItemHandler()
>> {
>> >> public void executeWorkItem(WorkItem
>> >> workItem,WorkItemManager manager) {
>> >> System.out.println(">" +
>> >> workItem.getParameters());
>> >> System.out.println("Executing
>> work
>> >> item " + workItem);
>> >>
>> >> manager.completeWorkItem(workItem.getId(), null);
>> >> }
>> >>
>> >> public void abortWorkItem(WorkItem
>> >> workItem,
>> >> WorkItemManager
>> manager)
>> {
>> >> // Do nothing
>> >> }
>> >> };
>> >>
>> >>
>> >> Map<String, Object> parametersDispo = new
>> >> HashMap<String, Object>();
>> >> parametersDispo.put("parametre", parametre);
>> >>
>> >>
>> >>
>> >>
>> >> ksession.getWorkItemManager().registerWorkItemHandler("groupe1",
>> >> handler);
>> >>
>> >> ksession.startProcess("com.sample.ruleflow1",
>> >> parametersDispo);
>> >>
>> >> ksession.fireAllRules();
>> >> logger.close();
>> >> } catch (Throwable t) {
>> >> t.printStackTrace();
>> >> }
>> >> }
>> >>
>> >> private static KnowledgeBase readKnowledgeBase() throws
>> Exception
>> >> {
>> >> KnowledgeBuilder kbuilder =
>> >> KnowledgeBuilderFactory.newKnowledgeBuilder();
>> >>
>> >> kbuilder.add(ResourceFactory.newClassPathResource("Sample4.drl",
>> >> RuleFlowTest.class), ResourceType.DRL);
>> >>
>> >> kbuilder.add(ResourceFactory.newClassPathResource("ruleFlow1.rf"),
>> >> ResourceType.DRF);
>> >>
>> >> KnowledgeBuilderErrors errors = kbuilder.getErrors();
>> >> if (errors.size() > 0) {
>> >> for (KnowledgeBuilderError error: errors) {
>> >> System.err.println(error);
>> >> }
>> >> throw new IllegalArgumentException("Could not
>> >> parse
>> >> knowledge.");
>> >> }
>> >> KnowledgeBase kbase =
>> >> KnowledgeBaseFactory.newKnowledgeBase();
>> >>
>> >> kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
>> >> return kbase;
>> >> }
>> >>
>> >>
>> >> public static class Parametre {
>> >>
>> >> private String para1;
>> >> private String para2;
>> >>
>> >>
>> >> public String getPara1(){
>> >> return this.para1;
>> >> }
>> >> public String getPara2(){
>> >> return this.para2;
>> >> }
>> >>
>> >>
>> >> }
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> One of my rules :
>> >>
>> >> rule "test 1"
>> >>
>> >> ruleflow-group "groupe1"
>> >> when
>> >> p : Parametre( para1 : para1)
>> >> eval (para1 == "para1")
>> >>
>> >> then
>> >> System.out.println( "groupe1 test 1" );
>> >>
>> >> end
>> >>
>> >> --
>> >> View this message in context:
>> >> http://old.nabble.com/RuleFlow-and-facts-tp26525341p26525341.html
>> >> Sent from the drools - user mailing list archive at Nabble.com.
>> >>
>> >> _______________________________________________
>> >> rules-users mailing list
>> >> rules-users at lists.jboss.org
>> >> https://lists.jboss.org/mailman/listinfo/rules-users
>> >>
>> >
>> >
>> >
>> > --
>> > - http://salaboy.wordpress.com
>> > - http://www.jbug.com.ar
>> > - Salatino "Salaboy" Mauricio -
>> >
>> > _______________________________________________
>> > rules-users mailing list
>> > rules-users at lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/rules-users
>> >
>> >
>>
>> --
>> View this message in context:
>> http://old.nabble.com/RuleFlow-and-facts-tp26525337p26528902.html
>> Sent from the drools - user mailing list archive at Nabble.com.
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>
>
>
> --
> - http://salaboy.wordpress.com
> - http://www.jbug.com.ar
> - Salatino "Salaboy" Mauricio -
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
http://old.nabble.com/file/p26529219/ruleFlow1.rf ruleFlow1.rf
--
View this message in context: http://old.nabble.com/RuleFlow-and-facts-tp26525337p26529219.html
Sent from the drools - user mailing list archive at Nabble.com.
More information about the rules-users
mailing list