[rules-users] RuleFlow and facts

Mauricio Salatino salaboy at gmail.com
Thu Nov 26 07:52:45 EST 2009


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 -
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20091126/add86baa/attachment.html 


More information about the rules-users mailing list