<p dir="ltr">You need to use kiesession.insert( object ).</p>
<p dir="ltr">Sent on the move</p>
<div class="gmail_quote">On 8 Dec 2013 20:52, &quot;anjana.ackroyd&quot; &lt;<a href="mailto:anjana.ackroyd@gmail.com">anjana.ackroyd@gmail.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
I am new to drools and trying to figure out how to get this simple example<br>
working.<br>
I have intellij IDE .<br>
I am trying to compare two numbers using drools 6.x and dont know how to<br>
insert numberone and numbertwo after I get my drl file into my file system<br>
<br>
Here is my code<br>
<br>
RuleRunner.java<br>
package com.cambiahealth.enterprise.service.droolsrule;<br>
<br>
import org.kie.api.KieServices;<br>
import org.kie.api.builder.KieBuilder;<br>
import org.kie.api.builder.KieFileSystem;<br>
import org.kie.api.builder.KieRepository;<br>
import org.kie.api.builder.Message.Level;<br>
import org.kie.api.io.KieResources;<br>
import org.kie.api.io.Resource;<br>
import org.kie.api.runtime.KieContainer;<br>
import org.kie.api.runtime.KieSession;<br>
<br>
public class RuleRunner<br>
{<br>
    private KieServices kieServices;<br>
    private KieContainer kieContainer;<br>
    private KieSession kieSession;<br>
    private KieResources kieResources;<br>
    private KieFileSystem kieFileSystem;<br>
    private KieRepository kieRepository;<br>
<br>
    public RuleRunner()<br>
    {<br>
        this.kieServices = KieServices.Factory.get();<br>
        this.kieResources = kieServices.getResources();<br>
        this.kieFileSystem = kieServices.newKieFileSystem();<br>
        this.kieRepository = kieServices.getRepository();<br>
    }<br>
<br>
<br>
    public void addRuleFile(String packagename, String rulefile)<br>
    {<br>
        Resource resource = kieResources.newClassPathResource(rulefile);<br>
<br>
        packagename = packagename.replace(&quot;.&quot;,&quot;/&quot;);<br>
<br>
        String resourcepath =<br>
&quot;src/main/resources/&quot;+packagename+&quot;/&quot;+rulefile;<br>
<br>
        kieFileSystem.write(resourcepath, resource);<br>
    }<br>
<br>
    public KieSession buildKnowledgeSession()<br>
    {<br>
        KieBuilder kb = kieServices.newKieBuilder(kieFileSystem);<br>
<br>
        kb.buildAll();<br>
<br>
        if (kb.getResults().hasMessages(Level.ERROR))<br>
        {<br>
            throw new RuntimeException(&quot;Build Errors:\n&quot; +<br>
kb.getResults().toString());<br>
        }<br>
<br>
        kieContainer =<br>
kieServices.newKieContainer(kieRepository.getDefaultReleaseId());<br>
<br>
        kieSession = this.kieContainer.newKieSession();<br>
<br>
        return kieSession;<br>
    }<br>
<br>
    public KieSession fireAllRules()<br>
    {<br>
        kieSession.fireAllRules();<br>
<br>
        return kieSession;<br>
    }<br>
<br>
    public void dispose()<br>
    {<br>
        this.kieSession.dispose();<br>
    }<br>
}<br>
<br>
<br>
<br>
<br>
<br>
<br>
My numbercompare.drl<br>
<br>
<br>
declare NumberCompare<br>
    message: String<br>
    numberone: Integer<br>
    numbertwo: Integer<br>
end<br>
<br>
rule &quot;numberone is equals to numbertwo&quot;<br>
    when<br>
        n: NumberCompare(numberone == numbertwo);<br>
<br>
    then<br>
        n.setMessage(&quot;numberone is equals to numbertwo&quot;);<br>
end<br>
<br>
rule &quot;numberone is greater than numbertwo&quot;<br>
    when<br>
        n: NumberCompare(numberone &gt; numbertwo);<br>
<br>
    then<br>
        n.setMessage(&quot;numberone is greater than numbertwo&quot;);<br>
end<br>
<br>
rule &quot;numberone is less than numbertwo&quot;<br>
    when<br>
        n: NumberCompare(numberone &lt; numbertwo);<br>
<br>
    then<br>
        n.setMessage(&quot;numberone is less than numbertwo&quot;);<br>
end<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
My DroolsService.java where I want to pass in values 1 and 2 to the drl file<br>
<br>
<br>
        runner.addRuleFile(&quot;drools&quot;, &quot;compareNumberRule.drl&quot;);<br>
<br>
       KieSession kieSession = runner.buildKnowledgeSession();<br>
      //How do I pass 1 as numberone and 2 as numbertwo values ????? before<br>
firerules<br>
        runner.fireAllRules();<br>
        runner.dispose();<br>
        return number.getMessage();  //To change body of implemented methods<br>
use File | Settings | File Templates.<br>
    }<br>
}<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://drools.46999.n3.nabble.com/How-to-insert-values-into-drl-tp4027151.html" target="_blank">http://drools.46999.n3.nabble.com/How-to-insert-values-into-drl-tp4027151.html</a><br>

Sent from the Drools: User forum mailing list archive at Nabble.com.<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>
</blockquote></div>