Build EAR failed with java.lang.NullPointerException at com.tibco.be.parser.semantic.OntologyModelLookup.typeOfPropertyDef

Build EAR failed with java.lang.NullPointerException at com.tibco.be.parser.semantic.OntologyModelLookup.typeOfPropertyDef

book

Article ID: KB0089751

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition -
Not Applicable -

Description

Resolution:
Description:
==========
Build EAR failed with java.lang.NullPointerException at com.tibco.be.parser.semantic.OntologyModelLookup.typeOfPropertyDef

Environment:
============
TIBCO BusinessEvents 5.x

Symptoms:
=========
Build EAR through TIBCO BusinessEvents Business studio failed with the following exception:

!ENTRY com.tibco.cep.studio.ui 4 0 2013-04-25 22:11:10.603
!MESSAGE Enterprise Archive File has failed to build.
!STACK 0
java.lang.Exception: java.lang.Exception: Failed to generate rule:/RuleFunctions/ConsultaODNsFiltradas
    at com.tibco.cep.studio.core.util.packaging.impl.DefaultRuntimeClassesPackager.close(Unknown Source)
    at com.tibco.cep.studio.core.util.packaging.impl.EMFBarPackager.close(Unknown Source)
    at com.tibco.cep.studio.core.util.packaging.impl.EMFEarPackager.close(Unknown Source)
    at com.tibco.cep.studio.ui.actions.BuildEnterpriseArchiveAction.runBuildArchive(Unknown Source)
    at com.tibco.cep.studio.ui.actions.BuildEnterpriseArchiveAction.access$1(Unknown Source)
    at com.tibco.cep.studio.ui.actions.BuildEnterpriseArchiveAction$BuildArchiveJob.run(Unknown Source)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.lang.Exception: Failed to generate rule:/RuleFunctions/ConsultaODNsFiltradas
    at com.tibco.cep.studio.codegen.BaseGenerator.int(Unknown Source)
    at com.tibco.cep.studio.codegen.BaseGenerator.try(Unknown Source)
    at com.tibco.cep.studio.codegen.BaseGenerator.generate(Unknown Source)
    ... 7 more
Caused by: java.lang.NullPointerException
    at com.tibco.be.parser.semantic.OntologyModelLookup.typeOfPropertyDef(Unknown Source)
    at com.tibco.be.parser.semantic.OntologyModelLookup.getPropertyType(Unknown Source)
    at com.tibco.be.parser.semantic.CompositeModelLookup.getPropertyType(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.processExpressionName(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.processUnaryRelation(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.visitProductionNode(Unknown Source)
    at com.tibco.be.parser.tree.ProductionNode.accept(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.acceptNodes(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.processOtherBinaryOp(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.processBinaryRelation(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.visitProductionNode(Unknown Source)
    at com.tibco.be.parser.tree.ProductionNode.accept(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.acceptNodes(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.processIf(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.processBinaryRelation(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.visitProductionNode(Unknown Source)
    at com.tibco.be.parser.tree.ProductionNode.accept(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.acceptNodes(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.processNullRelation(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.visitProductionNode(Unknown Source)
    at com.tibco.be.parser.tree.ProductionNode.accept(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.acceptNodes(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.visitProductionNodeListNode(Unknown Source)
    at com.tibco.be.parser.tree.ProductionNodeListNode.accept(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.acceptNodes(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.processNullRelation(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.visitProductionNode(Unknown Source)
    at com.tibco.be.parser.tree.ProductionNode.accept(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.acceptNodes(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.processFor(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.processGreaterThan2Relation(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.visitProductionNode(Unknown Source)
    at com.tibco.be.parser.tree.ProductionNode.accept(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.acceptNodes(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.processNullRelation(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.visitProductionNode(Unknown Source)
    at com.tibco.be.parser.tree.ProductionNode.accept(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.acceptNodes(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.visitProductionNodeListNode(Unknown Source)
    at com.tibco.be.parser.tree.ProductionNodeListNode.accept(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.acceptNodes(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.processNullRelation(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.visitProductionNode(Unknown Source)
    at com.tibco.be.parser.tree.ProductionNode.accept(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.acceptNodes(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.processWhile(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.processBinaryRelation(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.visitProductionNode(Unknown Source)
    at com.tibco.be.parser.tree.ProductionNode.accept(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.acceptNodes(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.processNullRelation(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.visitProductionNode(Unknown Source)
    at com.tibco.be.parser.tree.ProductionNode.accept(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.acceptNodes(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.visitRootNode(Unknown Source)
    at com.tibco.be.parser.tree.RootNode.accept(Unknown Source)
    at com.tibco.be.parser.semantic.NodeTypeVisitor.populateNodeTypes(Unknown Source)
    at com.tibco.be.parser.RuleCompiler.doSemanticCheck(Unknown Source)
    at com.tibco.be.parser.RuleCompiler.a(Unknown Source)
    at com.tibco.be.parser.RuleCompiler.compileRuleFunctionBlock(Unknown Source)
    at com.tibco.be.parser.RuleCompiler.parseAndTypeCheckRuleFunction(Unknown Source)
    at com.tibco.be.parser.RuleCompiler.parseAndTypeCheckRuleFunction(Unknown Source)
    at com.tibco.be.parser.codegen.RuleFunctionCodeGeneratorSmap.generateStaticMethodFromRuleFnNew(Unknown Source)
    at com.tibco.be.parser.codegen.RuleFunctionCodeGeneratorSmap.generateRuleFunctionClassNew(Unknown Source)
    at com.tibco.cep.studio.codegen.RuleFunctionCodeGenerator.generateRuleFunctionImplJavaFile(Unknown Source)
    at com.tibco.cep.studio.codegen.RuleFunctionCodeGenerator.generateRuleFunctionImplJavaFile(Unknown Source)
    at com.tibco.cep.studio.codegen.RuleFunctionCodeGenerator.generateRuleFunctionJavaFilePair(Unknown Source)
    at com.tibco.cep.studio.codegen.RuleFunctionCodeGenerator.generateRuleFunction(Unknown Source)
    at com.tibco.cep.studio.codegen.BaseGenerator.if(Unknown Source)
    ... 10 more

Cause:
======
OwnerPath for some of the properties of /Concepts/OdN/ODN(declared concept) are set with null("") which are not correct.

e.g.   &ltproperties name="nombreOdN" ownerProjectName="ODN" ownerPath=""/>

The correct value should be:

  &ltproperties name="nombreOdN" ownerProjectName="ODN" ownerPath="/Concepts/OdN/ODN"/>

We have seen this issue while moving concept by drag/drop the concept on the project tree. The suggested way for moving a concept is by "Refactor --> Move".

Resolution:
=========
1). Drop and recreated the concept which has this problem.

2). Open the declared concept with text editor, set OwnerPath with correct value.

e.g.  &ltproperties name="nombreOdN" ownerProjectName="ODN" ownerPath="/Concepts/OdN/ODN"/>

Issue/Introduction

Build EAR failed with java.lang.NullPointerException at com.tibco.be.parser.semantic.OntologyModelLookup.typeOfPropertyDef