Darrin,<br><br>You have it except for 1 important line of code<br><br>        kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());<br><br>Need to add the built packages to the rule base :)<br><br><div class="gmail_quote">
2009/4/24 Darrin Mison <span dir="ltr">&lt;<a href="mailto:dmison@redhat.com">dmison@redhat.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style=""><div>Hi, I&#39;m very new to Drools and I&#39;m trying to get code running based on the first sample code from the QuickStart chapter of the drools-doc-expert.</div><div><br></div><div>It compiles and runs (tried on commandline &amp; in JBoss Dev Studio <a href="http://2.0.0.GA" target="_blank">2.0.0.GA</a>) but does not work, ie it always says &quot;rejected&quot; instead of &quot;accepted&quot;.  </div>
<div><br></div><div>I&#39;ve had to fill out a bit of code to get it to compile so I may be doing something completely wrong. I&#39;ve included the code (rule, model, main) below.  </div><div><br></div><div>Any help would be really appreciated.</div>
<div><br></div><div>Darrin</div><div><br></div><div><br></div><div><br></div><div>#Sample.drl</div><div><div style="margin: 0px;"><span style="color: rgb(150, 0, 0);">package</span> com.company.license</div><div style="margin: 0px; min-height: 15px;">
<span style="color: rgb(0, 128, 0);"><span style="color: rgb(150, 0, 0);">rule</span><span style="color: rgb(0, 0, 0);"> </span>&quot;Is of valid age&quot;<span style="color: rgb(0, 0, 0);"> </span></span></div><div style="margin: 0px; color: rgb(150, 0, 0);">
when<span style="color: rgb(0, 0, 0);"> </span></div><div style="margin: 0px;">    $a : Applicant( age &gt; 18);</div><div style="margin: 0px; color: rgb(150, 0, 0);">then<span style="color: rgb(0, 0, 0);"> </span></div><div style="margin: 0px;">
    $a.setValid( <span style="color: rgb(150, 0, 0);">true</span> ); </div><div style="margin: 0px;"><span style="white-space: pre;">        </span>System.out.println(<span style="color: rgb(0, 128, 0);">&quot;true&quot;</span>);</div>
<div style="margin: 0px; color: rgb(150, 0, 0);">end</div></div><div><br></div><div>//Applicant.java</div><div><div style="margin: 0px;"><span style="color: rgb(127, 0, 85);">package</span> com.company.license;</div><div style="margin: 0px; min-height: 15px;">
<span style="color: rgb(127, 0, 85);">public</span> <span style="color: rgb(127, 0, 85);">class</span> Applicant </div><div style="margin: 0px;">{ </div><div style="margin: 0px;">    <span style="color: rgb(127, 0, 85);">private</span> String <span style="color: rgb(0, 0, 192);">name</span>; </div>
<div style="margin: 0px; color: rgb(127, 0, 85);"><span style="color: rgb(0, 0, 0);">    </span>private<span style="color: rgb(0, 0, 0);"> </span>int<span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 192);">Age</span><span style="color: rgb(0, 0, 0);">; </span></div>
<div style="margin: 0px; color: rgb(127, 0, 85);"><span style="color: rgb(0, 0, 0);">    </span>private<span style="color: rgb(0, 0, 0);"> </span>boolean<span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 192);">valid</span><span style="color: rgb(0, 0, 0);">; </span></div>
<div style="margin: 0px; min-height: 15px;"><br></div><div style="margin: 0px; color: rgb(63, 127, 95);"><span style="color: rgb(0, 0, 0);">    </span>// getter and setter methods here </div><div style="margin: 0px;"><span style="white-space: pre;">        </span><span style="color: rgb(127, 0, 85);">public</span> String getName() { <span style="color: rgb(127, 0, 85);">return</span> <span style="color: rgb(0, 0, 192);">name</span>; }</div>
<div style="margin: 0px;"><span style="white-space: pre;">        </span><span style="color: rgb(127, 0, 85);">public</span> <span style="color: rgb(127, 0, 85);">int</span> getAge()<span style="white-space: pre;">        </span>{ <span style="color: rgb(127, 0, 85);">return</span> <span style="color: rgb(0, 0, 192);">Age</span>; }</div>
<div style="margin: 0px;"><span style="white-space: pre;">        </span><span style="color: rgb(127, 0, 85);">public</span> <span style="color: rgb(127, 0, 85);">boolean</span> getValid(){ <span style="color: rgb(127, 0, 85);">return</span> <span style="color: rgb(0, 0, 192);">valid</span>; }</div>
<div style="margin: 0px;"><span style="white-space: pre;">        </span><span style="color: rgb(127, 0, 85);">public</span> <span style="color: rgb(127, 0, 85);">void</span> setName(String s){ <span style="color: rgb(127, 0, 85);">this</span>.<span style="color: rgb(0, 0, 192);">name</span> = s; }</div>
<div style="margin: 0px;"><span style="white-space: pre;">        </span><span style="color: rgb(127, 0, 85);">public</span> <span style="color: rgb(127, 0, 85);">void</span> setAge(<span style="color: rgb(127, 0, 85);">int</span> i){ <span style="color: rgb(127, 0, 85);">this</span>.<span style="color: rgb(0, 0, 192);">Age</span> = i; }</div>
<div style="margin: 0px;"><span style="white-space: pre;">        </span><span style="color: rgb(127, 0, 85);">public</span> <span style="color: rgb(127, 0, 85);">void</span> setValid(<span style="color: rgb(127, 0, 85);">boolean</span> v){ <span style="color: rgb(127, 0, 85);">this</span>.<span style="color: rgb(0, 0, 192);">valid</span> = v; }</div>
<p style="margin: 0px; font-family: Monaco; font-style: normal; font-variant: normal; font-weight: normal; font-size: 11px; line-height: normal; font-size-adjust: none; font-stretch: normal; min-height: 15px;"><span style="white-space: pre;">        </span><br>
</p><div style="margin: 0px;">}</div><div style="margin: 0px;"><br></div><div style="margin: 0px;"><br></div><div style="margin: 0px;">//ruletest.java</div><div style="margin: 0px;"><div style="margin: 0px;">package com.company.license;</div>
<div style="margin: 0px;">import org.drools.builder.*;</div><div style="margin: 0px;">import org.drools.io.*;</div><div style="margin: 0px;">import org.drools.runtime.*;</div><div style="margin: 0px;">import org.drools.*;</div>
<div style="margin: 0px;"><br></div><div style="margin: 0px;">public class ruletest</div><div style="margin: 0px;">{</div><div style="margin: 0px;"><span style="white-space: pre;">        </span>public ruletest(){}</div><div style="margin: 0px;">
<span style="white-space: pre;">        </span></div><div style="margin: 0px;"><span style="white-space: pre;">        </span>public static void main(String args[])</div><div style="margin: 0px;"><span style="white-space: pre;">        </span>{</div>
<div style="margin: 0px;"><span style="white-space: pre;">                </span>ruletest rt = new ruletest();</div><div style="margin: 0px;"><span style="white-space: pre;">                </span>rt.go();</div><div style="margin: 0px;"><span style="white-space: pre;">        </span>}</div>
<div style="margin: 0px;"><br></div><div style="margin: 0px;"><span style="white-space: pre;">        </span>public void go()</div><div style="margin: 0px;"><span style="white-space: pre;">        </span>{</div><div style="margin: 0px;">
<span style="white-space: pre;">                </span>Applicant dude = new Applicant();</div><div style="margin: 0px;"><span style="white-space: pre;">                </span>dude.setName(&quot;Rufus&quot;);</div><div style="margin: 0px;"><span style="white-space: pre;">                </span>dude.setAge(32);</div>
<div style="margin: 0px;"><br></div><div style="margin: 0px;"><span style="white-space: pre;">                </span>System.out.println(dude.getName());</div><div style="margin: 0px;"><span style="white-space: pre;">                </span>System.out.println(&quot;test: &quot;+dude.getValid());</div>
<div style="margin: 0px;"><span style="white-space: pre;">                </span></div><div style="margin: 0px;"><span style="white-space: pre;">                </span>KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); </div>
<div style="margin: 0px;"><span style="white-space: pre;">                </span>Resource ruleResource = ResourceFactory.newClassPathResource( &quot;Sample.drl&quot;, getClass() );</div><div style="margin: 0px;"><br></div><div style="margin: 0px;">
<span style="white-space: pre;">                </span>kbuilder.add( ruleResource, ResourceType.DRL ); </div><div style="margin: 0px;"><br></div><div style="margin: 0px;"><span style="white-space: pre;">                </span>if ( kbuilder.hasErrors() ) </div>
<div style="margin: 0px;"><span style="white-space: pre;">                </span>    System.err.println( kbuilder.getErrors().toString() ); </div><div style="margin: 0px;"><br></div><div style="margin: 0px;"><span style="white-space: pre;">                </span>KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();</div>
<div style="margin: 0px;"><span style="white-space: pre;">                </span>StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession(); </div><div style="margin: 0px;"><br></div><div style="margin: 0px;"><span style="white-space: pre;">                </span>System.out.println( dude.getValid() ); //should display false</div>
<div style="margin: 0px;"><span style="white-space: pre;">                </span>ksession.execute( dude ); </div><div style="margin: 0px;"><span style="white-space: pre;">                </span></div><div style="margin: 0px;"><span style="white-space: pre;">                </span>if (dude.getValid())</div>
<div style="margin: 0px;"><span style="white-space: pre;">                </span>    System.out.println(&quot;Application approved&quot;); //should display due to hardcoded as of 32</div><div style="margin: 0px;"><span style="white-space: pre;">                </span>  else</div>
<div style="margin: 0px;"><span style="white-space: pre;">                </span>    System.out.println(&quot;Application rejected&quot;);</div><div style="margin: 0px;"><span style="white-space: pre;">        </span>} </div><div style="margin: 0px;">
}</div></div></div></div><br>_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
<br></blockquote></div><br>