First of all, I&#39; moving this to drools-users list.<div>The problem seems to be that the application is not finding the change-set file. Where is the ChangeSet(12).xml file placed? Is it reachable at the first level of the classpath? Try to debug and see if the resource is in the classpath. Try with this first: this.getClass().getClassLoader().getResource(&quot;ChangeSet(12).xml&quot;); </div>

<div>Another solution could be to use a URLResource pointing to package&#39;s change-set in Guvnor.  <br clear="all"><br>Best Regards,<br><br>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX<br><br>Esteban Aliverti<br>- Developer @ <a href="http://www.plugtree.com" target="_blank">http://www.plugtree.com </a><br>

- Blog @ <a href="http://ilesteban.wordpress.com" target="_blank">http://ilesteban.wordpress.com</a><br>
<br><br><div class="gmail_quote">On Thu, Sep 29, 2011 at 9:15 AM, shubhranshu <span dir="ltr">&lt;<a href="mailto:shubhranshu.swain@gmail.com">shubhranshu.swain@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Hello everybody,<br>
<br>
I am new to drools. We have to integrate drools in our application. After<br>
lot of searching a found something very helpful. Here is what I did.<br>
<br>
I created a new package say test.<br>
I uploaded a new jar file which contains my model.<br>
I created a new category say banking.<br>
Then I created a rule under the banking category in test package.<br>
Finally I create a new snapshot for deployment.<br>
<br>
Then I get the changeset.xml<br>
&lt;change-set xmlns=&#39;<a href="http://drools.org/drools-5.0/change-set" target="_blank">http://drools.org/drools-5.0/change-set</a>&#39;<br>
   xmlns:xs=&#39;<a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank">http://www.w3.org/2001/XMLSchema-instance</a>&#39;<br>
   xs:schemaLocation=&#39;<a href="http://drools.org/drools-5.0/change-set" target="_blank">http://drools.org/drools-5.0/change-set</a><br>
<a href="http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd" target="_blank">http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd</a>&#39;<br>


&gt;<br>
   &lt;add&gt;<br>
        &lt;resource<br>
source=&#39;<a href="http://localhost:8080/guvnor-5.2.0.Final-tomcat-6.0/org.drools.guvnor.Guvnor/package/Banking/Test" target="_blank">http://localhost:8080/guvnor-5.2.0.Final-tomcat-6.0/org.drools.guvnor.Guvnor/package/Banking/Test</a>&#39;<br>


type=&#39;PKG&#39; /&gt;<br>
   &lt;/add&gt;<br>
&lt;/change-set&gt;<br>
<br>
Below is the code to test<br>
<br>
package com.test;<br>
<br>
import junit.framework.TestCase;<br>
<br>
import org.drools.KnowledgeBase;<br>
import org.drools.agent.KnowledgeAgent;<br>
import org.drools.agent.KnowledgeAgentConfiguration;<br>
import org.drools.agent.KnowledgeAgentFactory;<br>
import org.drools.io.ResourceFactory;<br>
import org.drools.runtime.StatefulKnowledgeSession;<br>
<br>
<br>
public class Test extends TestCase{<br>
       public void testDroolsWithGuvnor() throws Exception {<br>
               KnowledgeBase knowledgeBase = createKnowledgeBase();<br>
               StatefulKnowledgeSession session =<br>
knowledgeBase.newStatefulKnowledgeSession();<br>
               try {<br>
                       Person person = new Person();<br>
                       person.setAge(20);<br>
                       session.insert(person);<br>
                       assertTrue(session.getFactCount() == 1);<br>
                       session.fireAllRules();<br>
                       assertTrue(session.getFactCount() == 2);<br>
               }<br>
               finally {<br>
                       session.dispose();<br>
               }<br>
       }<br>
<br>
       public static KnowledgeBase createKnowledgeBase(){<br>
                KnowledgeAgentConfiguration kaconf =<br>
KnowledgeAgentFactory.newKnowledgeAgentConfiguration();<br>
                kaconf.setProperty( &quot;drools.agent.scanDirectories&quot;, &quot;false&quot;<br>
);<br>
                KnowledgeAgent kagent =<br>
KnowledgeAgentFactory.newKnowledgeAgent( &quot;test<br>
agent&quot;, kaconf );<br>
                kagent.applyChangeSet(<br>
ResourceFactory.newClassPathResource(&quot;ChangeSet(12).xml&quot;));<br>
                return kagent.getKnowledgeBase();<br>
<br>
       }<br>
}<br>
<br>
But when i try to test it using junit i get the following exception.<br>
<br>
<br>
java.lang.NullPointerException<br>
       at<br>
org.drools.agent.impl.KnowledgeAgentImpl.processChangeSet(KnowledgeAgentImpl.java:223)<br>
       at<br>
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:189)<br>
       at<br>
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:174)<br>
       at com.test.Test.createKnowledgeBase(Test.java:34)<br>
       at com.test.Test.testDroolsWithGuvnor(Test.java:15)<br>
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)<br>
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)<br>
       at java.lang.reflect.Method.invoke(Unknown Source)<br>
       at junit.framework.TestCase.runTest(TestCase.java:168)<br>
       at junit.framework.TestCase.runBare(TestCase.java:134)<br>
       at junit.framework.TestResult$1.protect(TestResult.java:110)<br>
       at junit.framework.TestResult.runProtected(TestResult.java:128)<br>
       at junit.framework.TestResult.run(TestResult.java:113)<br>
       at junit.framework.TestCase.run(TestCase.java:124)<br>
       at junit.framework.TestSuite.runTest(TestSuite.java:243)<br>
       at junit.framework.TestSuite.run(TestSuite.java:238)<br>
       at<br>
org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)<br>
       at<br>
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)<br>
       at<br>
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)<br>
       at<br>
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)<br>
       at<br>
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)<br>
       at<br>
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)<br>
       at<br>
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)<br>
<br>
Dont know how to deal with this<br>
<br>
please help<br>
<font color="#888888"><br>
--<br>
View this message in context: <a href="http://drools.46999.n3.nabble.com/java-lang-NullPointerException-while-testing-tp3378523p3378523.html" target="_blank">http://drools.46999.n3.nabble.com/java-lang-NullPointerException-while-testing-tp3378523p3378523.html</a><br>


Sent from the Drools: Developer (committer) mailing list mailing list archive at Nabble.com.<br>
_______________________________________________<br>
rules-dev mailing list<br>
<a href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-dev</a><br>
</font></blockquote></div><br></div>