Products | Versions |
---|---|
TIBCO BusinessEvents Enterprise Edition | - |
Not Applicable | - |
Resolution:
Description:
============
Studio-tools buildEar Utility is failing with exception
“Caused by: java.lang.RuntimeException: java.lang.NullPointerException
at com.tibco.cep.studio.core.adapters.OntologyEMFAdapter.getRuleFunction(Unknown Source)”
Environment:
============
TIBCO BusinessEvents 4.0.1 HF7
Linux Operating System
Symptoms:
=========
Studio-tools utility's buildear is failing with below NullPointerException.
+++++++++++++++++++++++++++++
Caused by: java.lang.RuntimeException: java.lang.NullPointerException
at com.tibco.cep.studio.core.adapters.OntologyEMFAdapter.getRuleFunction(Unknown Source)
at com.tibco.cep.decision.table.codegen.DTCodegenUtil.getMutableRuleFunction(Unknown Source)
at com.tibco.cep.decision.table.codegen.DTCodegenUtil.makeOptimizedDTImpl(Unknown Source)
at com.tibco.cep.decision.table.codegen.DTCodegenUtil.generateDecisionTableJavaFile(UnknownSource)
at com.tibco.cep.decision.table.codegen.DTClassGenerator.generateDecisionTableJavaFiles(Unknown Source)
at com.tibco.cep.decision.table.codegen.DTCodeGenerator.generateDecisionTables(Unknown Source)
at com.tibco.cep.studio.parser.codegen.BaseGenerator.generateDecisionTables(Unknown Source)
at com.tibco.cep.studio.parser.codegen.BaseGenerator.generateRuleAndRuleFunctions(Unknown Source)
at com.tibco.cep.studio.parser.codegen.BaseGenerator.generate(Unknown Source)
... 20 more
+++++++++++++++++++++++++++++
Cause:
============
The stack trace indicated that the error was coming from a Decision Table, likely an invalid "implements" path pointing to an invalid Virtual Rule Function.
After further debugging there were three Decision Tables point to the Virtual Rule Function (the following is an example): "/SAMPLE1/SAMPLE/xxx/VirtualRuleFunctions/xx/xx_1", but there was no Virtual Rule Function at that path.
Most likely it had been moved at some point to another Virtual Rule Function. Changing those references allowed the ear file to build.
Resolution:
=========
The Decision Table names were changed as they had invalid folder names.