Studio-tools buildEar Utility is failing with exception, “Caused by: java.lang.RuntimeException: java.lang.NullPointerExceptionat com.tibco.cep.studio.core.adapters.OntologyEMFAdapter.getRuleFunction(Unknown Source)”

Studio-tools buildEar Utility is failing with exception, “Caused by: java.lang.RuntimeException: java.lang.NullPointerExceptionat com.tibco.cep.studio.core.adapters.OntologyEMFAdapter.getRuleFunction(Unknown Source)”

book

Article ID: KB0085865

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition -
Not Applicable -

Description

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.

Issue/Introduction

Studio-tools buildEar Utility is failing with exception, “Caused by: java.lang.RuntimeException: java.lang.NullPointerExceptionat com.tibco.cep.studio.core.adapters.OntologyEMFAdapter.getRuleFunction(Unknown Source)”