]
Artsiom Tsaryonau closed DROOLS-957.
------------------------------------
Resolution: Done
NullPointerException when attempt to process xlsx file
------------------------------------------------------
Key: DROOLS-957
URL:
https://issues.jboss.org/browse/DROOLS-957
Project: Drools
Issue Type: Bug
Components: core engine, decision tables
Affects Versions: 6.3.0.Final
Environment: Java 1.7.0_67
Reporter: Artsiom Tsaryonau
Assignee: Mario Fusco
Attachments: ref_table.xls, ref_table.xlsx
When I try to process _xls_ table (in the attachment) - in order to check its validity -
it's works fine and shows that table is incorrect.
But when I try to process the same table but in _xlsx_ I get +NullPointerException+
{code:c}
java.lang.NullPointerException
at org.apache.poi.openxml4j.opc.OPCPackage.getPart(OPCPackage.java:628)
at org.apache.poi.POIXMLDocumentPart.<init>(POIXMLDocumentPart.java:97)
at org.apache.poi.POIXMLDocument.<init>(POIXMLDocument.java:57)
at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:197)
at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:79)
at org.drools.decisiontable.parser.xls.ExcelParser.parseFile(ExcelParser.java:82)
at org.drools.decisiontable.SpreadsheetCompiler.compile(SpreadsheetCompiler.java:93)
at org.drools.decisiontable.SpreadsheetCompiler.compile(SpreadsheetCompiler.java:72)
at
org.drools.decisiontable.DecisionTableProviderImpl.compileStream(DecisionTableProviderImpl.java:75)
at
org.drools.decisiontable.DecisionTableProviderImpl.loadFromInputStream(DecisionTableProviderImpl.java:43)
at
org.drools.compiler.compiler.DecisionTableFactory.loadFromInputStream(DecisionTableFactory.java:32)
at
org.drools.compiler.builder.impl.KnowledgeBuilderImpl.decisionTableToPackageDescr(KnowledgeBuilderImpl.java:402)
at
org.drools.compiler.builder.impl.KnowledgeBuilderImpl.addPackageFromDecisionTable(KnowledgeBuilderImpl.java:372)
at
org.drools.compiler.builder.impl.KnowledgeBuilderImpl.addKnowledgeResource(KnowledgeBuilderImpl.java:732)
at
org.drools.compiler.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:2223)
at com.xxxx.xxxx.RuleValidator.isValidXLSRule(RuleValidator.java:33)
at com.xxxx.xxxx.RuleValidator.main(RuleValidator.java:26)
{code}
Also it can be possible that there is an error in my application's code - maybe I am
doing something wrong.
I additionally add that _xlsx_ table is not purely _xlsx_ table created in excel, but
converted from _xls_ using excel.