Cannot build the EAR in TIBCO BusinessEvents (BE) Studio because of error java.lang.Exception: java.util.NoSuchElementException.

Cannot build the EAR in TIBCO BusinessEvents (BE) Studio because of error java.lang.Exception: java.util.NoSuchElementException.

book

Article ID: KB0090713

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition -
Not Applicable -

Description

Resolution:
Description:
============
Full error stack is:
java.lang.Exception: java.util.NoSuchElementException
    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:55)
Caused by: java.util.NoSuchElementException
    at java.util.LinkedHashMap$LinkedHashIterator.nextEntry(LinkedHashMap.java:375)
    at java.util.LinkedHashMap$KeyIterator.next(LinkedHashMap.java:384)
    at com.tibco.cep.studio.parser.codegen.StateMachineRuleClassGeneratorSmap.makeRuleClass(Unknown Source)
    at com.tibco.cep.studio.parser.codegen.StateMachineClassGeneratorSmap.a(Unknown Source)
    at com.tibco.cep.studio.parser.codegen.StateMachineClassGeneratorSmap.a(Unknown Source)
    at com.tibco.cep.studio.parser.codegen.StateMachineClassGeneratorSmap.makeStateMachineFile(Unknown Source)
    at com.tibco.cep.studio.parser.codegen.ConceptClassGeneratorSmap.a(Unknown Source)
    at com.tibco.cep.studio.parser.codegen.ConceptClassGeneratorSmap.makeConceptFile(Unknown Source)
    at com.tibco.cep.studio.parser.codegen.ConceptCodeGenerator.generateConcept(Unknown Source)
    at com.tibco.cep.studio.parser.codegen.BaseGenerator.new(Unknown Source)
    at com.tibco.cep.studio.parser.codegen.BaseGenerator.try(Unknown Source)
    at com.tibco.cep.studio.parser.codegen.BaseGenerator.generate(Unknown Source)

Environment:
==========
BE 5.0.1; All Environments

Symptoms:
=========
After adding StateMachines in Studio, unable to compile EAR.

Cause:
=====
There was a problem with the underlying XML for the statemachine.

Resolution:
=========
In the file UserAccessStates.statemachine the “UserAccessStates_Transition_5_guardRule” guard rule inside the state machine somehow had the symbol/declaration removed. Looking at the XML you’ll see this for all other guard rules:

      &ltsymbols>
        &ltsymbolList idName="useraccess" type="/Concepts/UserAccess"/>
      </symbols>

But you'll see an empty list for the above guard rule:

      &ltsymbols/>

It is unknown how it got to this state but you can copy the symbols from a different guard rule and paste it for this guard rule.  Once the XML statements are corrected everything builds correctly.  Perhaps the declaration was removed in a version that allowed it (which should no longer be the case).

Issue/Introduction

Cannot build the EAR in TIBCO BusinessEvents (BE) Studio because of error java.lang.Exception: java.util.NoSuchElementException.