[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