On 26/01/2013, starfish15 <pooja.gh...@accenture.com> wrote:
> Hello,
>
> I am using Drools 5.2. I am not sure why not able to find the result here.
> I am supposed to get the value from the Action in this rule as shown below.
> But its never found. Kindly assist me with what is it that i have'nt
> included.

You haven't included any proof that the three facts you insert
match the conditions for their properties: CD == "ES", EOC_IN == "Y",
IN == "N" and CMPG == 123, 01_NO == "12" and dummyCond == "result",
respectively.

-W

>
> First the rules
>
> //generated from Decision Table
> import boa.poc.java.SSI;
> import boa.poc.java.CMPG_REF;
> import boa.poc.java.Result_Rules;
> // rule values at C12, header at C7
> rule "Access sql table_12"
> when
> ssi : SSI(CD == "ES", EOC_IN == "Y", IN == "N")
> cmpgRef : CMPG_REF(CMPG == 123, 01_NO == "12")
> result : Result_Rules(dummyCond == "result")
> then
> result.setDummyAction("Access I");
> end
>
> Second the code
>               
>                       @SuppressWarnings("rawtypes")
>                       public HashMap<String, List> retrievRuleResult(HashMap 
> hm) {
>                               try {
>                                       // load up the knowledge base
>                                       KnowledgeBase kbase = 
> readKnowledgeBase();
>
>                                       SSI ssi = (SSI)hm.get("pa_cycle_ssi");
>                                       CMPG_REF cmpRef = 
> (CMPG_REF)hm.get("pa_cmpg_ref");
>                                       Result_Rules rulesResult = 
> (Result_Rules)hm.get("dummyCond");
>                                       
>                                       StatefulKnowledgeSession ksession =
> kbase.newStatefulKnowledgeSession();
>                                       ksession.insert(ssi);
>                                       ksession.insert(cmpRef);
>                                       ksession.insert(rulesResult);
>                                       ksession.fireAllRules();
>                                       ksession.dispose();                     
>                                       
>                                       System.out.println("Result 1 : 
> "+rulesResult.getDummyAction());
>                                                                               
>                                 
>                       return ;
>                       }
>
>
> public KnowledgeBase readKnowledgeBase() throws Exception {
>
>                               KnowledgeBuilder kbuilder =
> KnowledgeBuilderFactory.newKnowledgeBuilder();                
>                                       
>                       
> kbuilder.add(ResourceFactory.newClassPathResource("poc/rules/rules.pkg"),
> ResourceType.PKG);
>                               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 = 
> kbuilder.newKnowledgeBase();
>                                                                               
>                         
>                               return kbase;
>                       }
>
>
>
> --
> View this message in context:
> http://drools.46999.n3.nabble.com/Stateful-Session-giving-major-issues-tp4021832.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to