[rules-users] Drools Guvnor-Decison Tables - Rule is not being fired!!! Please help

Esteban Aliverti esteban.aliverti at gmail.com
Mon Jul 16 09:59:06 EDT 2012


The problem is that you are inserting the fact type definition instead of
the facts themselves.

instead of insert *appType* and *incomeType* you should insert *application*and
*income*.

Best Regards,

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Esteban Aliverti
- Blog @ http://ilesteban.wordpress.com


On Mon, Jul 16, 2012 at 3:20 PM, Wolfgang Laun <wolfgang.laun at gmail.com>wrote:

> Why do you think that you should have a third fact when there are no
> insert() calls except the two in your Java code?
> -W
>
> On 16/07/2012, Ravikiran <ravikiran.kakarla at gmail.com> wrote:
> > Hi,
> > I'm using default Guvnor package "mortgages" decision table as example
> for
> > my POC. Below is the rules from the decision table. No rule is being
> fired
> > from my JAVA client out of 3 rules given below.
> >
> > //from row number: 1
> > rule "Row 3 Pricing loans"
> >       dialect "mvel"
> >       when
> >                    application : LoanApplication( amount > "131000" ,
> amount <=
> > "200000" , lengthYears == "30" , deposit < "20000" )
> >               income : IncomeSource( type == "Asset" )
> >       then
> >               application.setApproved( true );
> >               application.setInsuranceCost( 0 );
> >               application.setApprovedRate( 2 );
> > end
> >
> > //from row number: 2
> > rule "Row 1 Pricing loans"
> >       dialect "mvel"
> >       when
> >               application : LoanApplication( amount > "10000" , amount
> <= "100000" ,
> > lengthYears == "20" , deposit < "2000" )
> >               income : IncomeSource( type == "Job" )
> >       then
> >               application.setApproved( true );
> >               application.setInsuranceCost( 0 );
> >               application.setApprovedRate( 4 );
> > end
> >
> > //from row number: 3
> > rule "Row 2 Pricing loans"
> >       dialect "mvel"
> >       when
> >               application : LoanApplication( amount > "100001" , amount
> <= "130000" ,
> > lengthYears == "20" , deposit < "3000" )
> >               income : IncomeSource( type == "Job" )
> >       then
> >               application.setApproved( true );
> >               application.setInsuranceCost( 10 );
> >               application.setApprovedRate( 6 );
> > end
> >
> > ==> My Java client follows
> > KnowledgeBase knowledgeBase = createKnowledgeBase(); //Successfully
> creates
> > knowledgebase
> > StatefulKnowledgeSession session =
> > knowledgeBase.newStatefulKnowledgeSession();
> >
> >         FactType appType = knowledgeBase.getFactType( "mortgages",
> > "LoanApplication" );
> >         FactType incomeType = knowledgeBase.getFactType( "mortgages",
> > "IncomeSource" );
> >
> >         Object application = appType.newInstance();
> >         Object income = incomeType.newInstance();
> >
> >         appType.set(application, "amount", 100000);
> >         appType.set(application, "deposit", 1500);
> >         appType.set(application, "lengthYears", 20);
> >
> >         incomeType.set(income, "type", "Job");
> >         incomeType.set(income, "amount", 65000);
> >
> >         session.insert(appType);
> >         session.insert(incomeType);
> >
> >         assertTrue(session.getFactCount() == 2);
> >         session.fireAllRules();
> >         assertTrue(session.getFactCount() == 3);
> >
> > Question: I hope the way i pass the input satisfies "Row 2 Pricing loans"
> > above. But My assertion is getting failed after calling
> > fireAllRules()...because the factcount was still 2. Please help what
> could
> > be the wrong in above scenario.
> >
> > thanks a lot.
> >
> > --
> > View this message in context:
> >
> http://drools.46999.n3.nabble.com/Drools-Guvnor-Decison-Tables-Rule-is-not-being-fired-Please-help-tp4018701.html
> > Sent from the Drools: User forum mailing list archive at Nabble.com.
> > _______________________________________________
> > rules-users mailing list
> > rules-users at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
> >
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20120716/76838626/attachment.html 


More information about the rules-users mailing list