[rules-users] Bug?

Pavel Tavoda pavel.tavoda at gmail.com
Tue Aug 24 12:30:28 EDT 2010


When I use latest 5.1.1 I'm getting following error when using
change-set with DTABLE:
<?xml version = '1.0' encoding = 'UTF-8'?>
<change-set xmlns='http://drools.org/drools-5.0/change-set'
		xmlns:xs='http://www.w3.org/2001/XMLSchema-instance'
		xs:schemaLocation='http://drools.org/drools-5.0/change-set
http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd'>
	<add>
		<resource source='file:DecisionTables.xls' type="DTABLE">
			<decisiontable-conf input-type="XLS" worksheet-name="Sheet1" />
		</resource>
	</add>
</change-set>

Exception in thread "main" java.lang.NullPointerException
	at org.drools.decisiontable.DecisionTableProviderImpl.compileStream(DecisionTableProviderImpl.java:26)
	at org.drools.decisiontable.DecisionTableProviderImpl.loadFromInputStream(DecisionTableProviderImpl.java:19)
	at org.drools.compiler.DecisionTableFactory.loadFromInputStream(DecisionTableFactory.java:18)
	at org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:482)
	at org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:28)
	at org.drools.agent.impl.KnowledgeAgentImpl.createPackageFromResource(KnowledgeAgentImpl.java:637)
	at org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:889)
	at org.drools.agent.impl.KnowledgeAgentImpl.rebuildResources(KnowledgeAgentImpl.java:704)
	at org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:584)
	at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:185)
	at org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:168)
	at DroolsCompiler.compileChangeSet(DroolsCompiler.java:42)

It's similar to JBRULES-2230. I reused solution from comments (on
different place) and now it's again working. Attached you can find
patch. Can somebody apply to TRUNK?

Pavel
-------------- next part --------------
--- KnowledgeAgentImpl.java.trunk	2010-08-24 18:19:09.000000000 +0200
+++ KnowledgeAgentImpl.java	2010-08-24 18:30:28.000000000 +0200
@@ -41,6 +41,7 @@
 import org.drools.builder.KnowledgeBuilder;
 import org.drools.builder.KnowledgeBuilderConfiguration;
 import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.ResourceConfiguration;
 import org.drools.builder.ResourceType;
 import org.drools.common.AbstractRuleBase;
 import org.drools.common.InternalRuleBase;
@@ -634,7 +635,14 @@
                 kbuilder = this.createKBuilder();
             }
 
-            kbuilder.add(resource, ((InternalResource) resource).getResourceType());
+            ResourceConfiguration conf = ((InternalResource) resource).getConfiguration();
+            if (conf != null) {
+                kbuilder.add( resource,
+                              ((InternalResource) resource).getResourceType(), conf );
+            } else {
+                kbuilder.add( resource,
+                              ((InternalResource) resource).getResourceType() );
+            }
             if (kbuilder.hasErrors()) {
                 this.eventSupport.fireResourceCompilationFailed(kbuilder, resource, ((InternalResource) resource).getResourceType());
                 this.listener.warning(


More information about the rules-users mailing list