[rules-users] can't get samples to work from Drools 5 drools-doc-expert
Darrin Mison
dmison at redhat.com
Mon Apr 27 23:02:40 EDT 2009
Thanks :-)
On 24/04/2009, at 11:19 PM, David Sinclair wrote:
> Darrin,
>
> You have it except for 1 important line of code
>
> kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
>
> Need to add the built packages to the rule base :)
>
> 2009/4/24 Darrin Mison <dmison at redhat.com>
> Hi, I'm very new to Drools and I'm trying to get code running based
> on the first sample code from the QuickStart chapter of the drools-
> doc-expert.
>
> It compiles and runs (tried on commandline & in JBoss Dev Studio
> 2.0.0.GA) but does not work, ie it always says "rejected" instead of
> "accepted".
>
> I've had to fill out a bit of code to get it to compile so I may be
> doing something completely wrong. I've included the code (rule,
> model, main) below.
>
> Any help would be really appreciated.
>
> Darrin
>
>
>
> #Sample.drl
> package com.company.license
> rule "Is of valid age"
> when
> $a : Applicant( age > 18);
> then
> $a.setValid( true );
> System.out.println("true");
> end
>
> //Applicant.java
> package com.company.license;
> public class Applicant
> {
> private String name;
> private int Age;
> private boolean valid;
>
> // getter and setter methods here
> public String getName() { return name; }
> public int getAge() { return Age; }
> public boolean getValid(){ return valid; }
> public void setName(String s){ this.name = s; }
> public void setAge(int i){ this.Age = i; }
> public void setValid(boolean v){ this.valid = v; }
>
> }
>
>
> //ruletest.java
> package com.company.license;
> import org.drools.builder.*;
> import org.drools.io.*;
> import org.drools.runtime.*;
> import org.drools.*;
>
> public class ruletest
> {
> public ruletest(){}
>
> public static void main(String args[])
> {
> ruletest rt = new ruletest();
> rt.go();
> }
>
> public void go()
> {
> Applicant dude = new Applicant();
> dude.setName("Rufus");
> dude.setAge(32);
>
> System.out.println(dude.getName());
> System.out.println("test: "+dude.getValid());
>
> KnowledgeBuilder kbuilder =
> KnowledgeBuilderFactory.newKnowledgeBuilder();
> Resource ruleResource =
> ResourceFactory.newClassPathResource( "Sample.drl", getClass() );
>
> kbuilder.add( ruleResource, ResourceType.DRL );
>
> if ( kbuilder.hasErrors() )
> System.err.println( kbuilder.getErrors().toString() );
>
> KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
> StatelessKnowledgeSession ksession =
> kbase.newStatelessKnowledgeSession();
>
> System.out.println( dude.getValid() ); //should display false
> ksession.execute( dude );
>
> if (dude.getValid())
> System.out.println("Application approved"); //should display
> due to hardcoded as of 32
> else
> System.out.println("Application rejected");
> }
> }
>
> _______________________________________________
> 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/20090428/27b90596/attachment.html
More information about the rules-users
mailing list