Red Hat

Be aware of using double-quotes when writing Drools Decision Tables

Posted by Tihomir Surdilovic    |    Nov 21, 2009    |    Tagged as

This is a small thing that I ran into when writing Decision Tables using OpenOffice:

Let's say in a CONDITION column you want to write the following pattern:

section : Section(type == "$param") from company.sectionList

If you type this into the column (without cut/paste) it will look like:

section : Section(type == “$param”) from company.sectionList 

The difference here is the double quotes generated by OpenOffice. If you do not change all of them and try to load your Decision Table with for example:

KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
DecisionTableConfiguration config = KnowledgeBuilderFactory.newDecisionTableConfiguration();
config.setInputType(DecisionTableInputType.XLS);
kbuilder.add(ResourceFactory.newClassPathResource("mydecisiontable.xls"), ResourceType.DTABLE, config);
.....

you will get the following type of exception:

[8,29]: [ERR 101] Line 8:29 no viable alternative at input ''
[8,39]: [ERR 101] Line 8:39 no viable alternative at input ''
[9,29]: [ERR 101] Line 9:29 no viable alternative at input ''
[9,37]: [ERR 101] Line 9:37 no viable alternative at input '' 

...just something small to consider when debugging your Drools Decision Tables. Note that Decision Table support was added to Seam since 2.2.0.CR1

back to top