Strangely it appears it works no better than before; you have simply moved the error from a malformed classpath reference to a malformed file-system reference.<br><br>The proximate cause is now &quot;Caused by: java.net.MalformedURLException: unknown protocol: d&quot;. The path &quot;&#39;D:/Venkat/workspace/pi-affiliate-drools-rule-engine/src/main/rules/sample-md&quot; is incorrectly constructed.<br>
<br>I suggest you swat up on classpath resources, in particular getResource(), or Java&#39;s File related classes, in particular what constitutes a correct path separator.<br><br>With kind regards,<br><br>Mike<br><br><div class="gmail_quote">
On 14 August 2012 18:13, Rana <span dir="ltr">&lt;<a href="mailto:ven12344@yahoo.com" target="_blank">ven12344@yahoo.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Strangely it did work for this<br>
<br>
kagent.applyChangeSet(ResourceFactory.newFileResource(ruleFile));<br>
<br>
but I get this exception now.<br>
<br>
My change set file has folder locations of drools files<br>
<br>
<br>
<br>
java.lang.RuntimeException: Unable to parse ChangeSet<br>
        at<br>
org.drools.agent.impl.KnowledgeAgentImpl.getChangeSet(KnowledgeAgentImpl.java:448)<br>
        at<br>
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:180)<br>
        at<br>
com.drfirst.pi.affiliate.drools.DroolsKnowledgeObject.getKnowledgeBase(DroolsKnowledgeObject.java:64)<br>
        at<br>
com.drfirst.pi.affiliate.drools.DroolsKnowledgeObject.getKnowledgeSession(DroolsKnowledgeObject.java:79)<br>
        at com.drfirst.pi.affiliate.drools.FireRules.&lt;clinit&gt;(FireRules.java:27)<br>
        at<br>
com.drfirst.pi.affiliate.drools.test.DroolsRuleTest.test(DroolsRuleTest.java:28)<br>
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
        at<br>
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>
        at<br>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>
        at java.lang.reflect.Method.invoke(Method.java:597)<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:50)<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>
Caused by: java.lang.IllegalArgumentException:<br>
&#39;D:/Venkat/workspace/pi-affiliate-drools-rule-engine/src/main/rules/sample-md/&#39;<br>
path is malformed<br>
        at org.drools.io.impl.UrlResource.&lt;init&gt;(UrlResource.java:86)<br>
        at org.drools.xml.changeset.ResourceHandler.start(ResourceHandler.java:86)<br>
        at<br>
org.drools.xml.ExtensibleXmlParser.startElement(ExtensibleXmlParser.java:385)<br>
        at<br>
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)<br>
        at<br>
com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179)<br>
        at<br>
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.emptyElement(XMLSchemaValidator.java:739)<br>
        at<br>
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:377)<br>
        at<br>
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2756)<br>
        at<br>
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)<br>
        at<br>
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)<br>
        at<br>
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)<br>
        at<br>
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)<br>
        at<br>
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)<br>
        at<br>
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)<br>
        at<br>
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)<br>
        at<br>
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)<br>
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)<br>
        at org.drools.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:296)<br>
        at org.drools.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:175)<br>
        at org.drools.xml.XmlChangeSetReader.read(XmlChangeSetReader.java:70)<br>
        at<br>
org.drools.agent.impl.KnowledgeAgentImpl.getChangeSet(KnowledgeAgentImpl.java:446)<br>
        ... 24 more<br>
Caused by: java.net.MalformedURLException: unknown protocol: d<br>
        at java.net.URL.&lt;init&gt;(URL.java:574)<br>
        at java.net.URL.&lt;init&gt;(URL.java:464)<br>
        at java.net.URL.&lt;init&gt;(URL.java:413)<br>
        at org.drools.io.impl.UrlResource.&lt;init&gt;(UrlResource.java:83)<br>
        ... 44 more<br>
java.lang.RuntimeException: Unable to parse ChangeSet<br>
        at<br>
org.drools.agent.impl.KnowledgeAgentImpl.getChangeSet(KnowledgeAgentImpl.java:453)<br>
        at<br>
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:180)<br>
        at<br>
com.drfirst.pi.affiliate.drools.DroolsKnowledgeObject.getKnowledgeBase(DroolsKnowledgeObject.java:64)<br>
        at<br>
com.drfirst.pi.affiliate.drools.DroolsKnowledgeObject.getKnowledgeSession(DroolsKnowledgeObject.java:79)<br>
        at com.drfirst.pi.affiliate.drools.FireRules.&lt;clinit&gt;(FireRules.java:27)<br>
        at<br>
com.drfirst.pi.affiliate.drools.test.DroolsRuleTest.test(DroolsRuleTest.java:28)<br>
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
        at<br>
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>
        at<br>
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>
        at java.lang.reflect.Method.invoke(Method.java:597)<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:50)<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>
Thanks.<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://drools.46999.n3.nabble.com/Getting-Null-pointer-exception-for-applying-change-set-tp4019117p4019124.html" target="_blank">http://drools.46999.n3.nabble.com/Getting-Null-pointer-exception-for-applying-change-set-tp4019117p4019124.html</a><br>

<div class="HOEnZb"><div class="h5">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>
</div></div></blockquote></div><br>