IBM Support

RS02883: ENGINEOUTLINESERIALIZATIONEXCEPTION WHEN GENERATING DECISION ENGINE RULEAPP INVOLVING JAVA GENERIC XOM CLASS

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • ODM 8.9.0.2 Rule Designer, when generating a decision service
    ruleapp with deicision engine mode, throws the below exception :
    
    com.ibm.rules.container.EngineOutlineSerializationException:
    java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
        at com.ibm.rules.container.EnginePackageOpenXMLProducer.
    writeJar(EnginePackageOpenXMLProducer.java:246)
        at com.ibm.rules.container.EnginePackageOpenXMLProducer.
    writeJar(EnginePackageOpenXMLProducer.java:254)
        at com.ibm.rules.container.EngineOutlineSerializer.writeJar(
    EngineOutlineSerializer.java:46)
        at com.ibm.rules.studio.rve.builder.
    RVERulesetArchiveExporter.serializeEngineOutline(
    RVERulesetArchiveExporter.java:692)
        at com.ibm.rules.studio.rve.builder.
    RVERulesetArchiveExporter.export(RVERulesetArchiveExporter.java:
    381)
        at com.ibm.rules.studio.decisionservice.
    SDsRVERulesetArchiveExporter.export(
    SDsRVERulesetArchiveExporter.java:134)
        at com.ibm.rules.studio.decisionservice.
    SDsRulesetArchiveBuilder.refreshDecisionEngineArchive(
    SDsRulesetArchiveBuilder.java:107)
        at com.ibm.rules.decisionservice.DsRulesetArchiveBuilder.
    refreshArchive(DsRulesetArchiveBuilder.java:39)
        at com.ibm.rules.decisionservice.DsRuleAppArchiveBuilder.
    buildRuleAppInformation(DsRuleAppArchiveBuilder.java:111)
        at com.ibm.rules.decisionservice.DsRuleAppArchiveBuilder.
    refreshArchive(DsRuleAppArchiveBuilder.java:200)
        at com.ibm.rules.studio.decisionservice.
    SDsRuleAppArchiveBuilder.refreshArchive(
    SDsRuleAppArchiveBuilder.java:80)
        at com.ibm.rules.studio.decisionservice.
    SDsRuleAppDeploymentJob.generateRuleApp(SDsRuleAppDeploymentJob.
    java:79)
        at com.ibm.rules.studio.decisionservice.
    SDsRuleAppDeploymentJob.deploy(SDsRuleAppDeploymentJob.java:53)
        at com.ibm.rules.studio.decisionservice.SDsXOMDeploymentJob.
    runInWorkspace(SDsXOMDeploymentJob.java:103)
        at org.eclipse.core.internal.resources.InternalWorkspaceJob.
    run(InternalWorkspaceJob.java:38)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size:
    1
        at java.util.ArrayList.rangeCheck(ArrayList.java:664)
        at java.util.ArrayList.get(ArrayList.java:440)
        at com.ibm.rules.engine.lang.parser.IlrLanguageParserHelper.
    getGenericValueAux(IlrLanguageParserHelper.java:437)
        at com.ibm.rules.engine.lang.parser.IlrLanguageParserHelper.
    getGenericValueAux(IlrLanguageParserHelper.java:434)
        at com.ibm.rules.engine.lang.parser.IlrLanguageParserHelper.
    getGenericValueAux(IlrLanguageParserHelper.java:434)
        at com.ibm.rules.engine.lang.parser.IlrLanguageParserHelper.
    getGenericValueAux(IlrLanguageParserHelper.java:434)
        at com.ibm.rules.engine.lang.parser.IlrLanguageParserHelper.
    getGenericValueAux(IlrLanguageParserHelper.java:434)
        at com.ibm.rules.engine.lang.parser.IlrLanguageParserHelper.
    getValue(IlrLanguageParserHelper.java:397)
    

Local fix

  • Create a non generic class extended from the generic one.
    

Problem summary

  • In Rule Designer when generating a decision service Rule App
    that involves a java generic XOM class, the operation fails
    with the following exception:
    com.ibm.rules.container.EngineOutlineSerializationException:
    java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
        at com.ibm.rules.container.EnginePackageOpenXMLProducer.
    writeJar(EnginePackageOpenXMLProducer.java:246)
        at com.ibm.rules.container.EnginePackageOpenXMLProducer.
    writeJar(EnginePackageOpenXMLProducer.java:254)
        at com.ibm.rules.container.EngineOutlineSerializer.writeJar(
    EngineOutlineSerializer.java:46)
        at com.ibm.rules.studio.rve.builder.
    RVERulesetArchiveExporter.serializeEngineOutline(
    RVERulesetArchiveExporter.java:692)
        at com.ibm.rules.studio.rve.builder.
    RVERulesetArchiveExporter.export(RVERulesetArchiveExporter.java:
    381)
        at com.ibm.rules.studio.decisionservice.
    SDsRVERulesetArchiveExporter.export(
    SDsRVERulesetArchiveExporter.java:134)
        at com.ibm.rules.studio.decisionservice.
    SDsRulesetArchiveBuilder.refreshDecisionEngineArchive(
    SDsRulesetArchiveBuilder.java:107)
        at com.ibm.rules.decisionservice.DsRulesetArchiveBuilder.
    refreshArchive(DsRulesetArchiveBuilder.java:39)
        at com.ibm.rules.decisionservice.DsRuleAppArchiveBuilder.
    buildRuleAppInformation(DsRuleAppArchiveBuilder.java:111)
        at com.ibm.rules.decisionservice.DsRuleAppArchiveBuilder.
    refreshArchive(DsRuleAppArchiveBuilder.java:200)
        at com.ibm.rules.studio.decisionservice.
    SDsRuleAppArchiveBuilder.refreshArchive(
    SDsRuleAppArchiveBuilder.java:80)
        at com.ibm.rules.studio.decisionservice.
    SDsRuleAppDeploymentJob.generateRuleApp(SDsRuleAppDeploymentJob.
    java:79)
        at com.ibm.rules.studio.decisionservice.
    SDsRuleAppDeploymentJob.deploy(SDsRuleAppDeploymentJob.java:53)
        at com.ibm.rules.studio.decisionservice.SDsXOMDeploymentJob.
    runInWorkspace(SDsXOMDeploymentJob.java:103)
        at org.eclipse.core.internal.resources.InternalWorkspaceJob.
    run(InternalWorkspaceJob.java:38)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
    Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size:
    1
        at java.util.ArrayList.rangeCheck(ArrayList.java:664)
        at java.util.ArrayList.get(ArrayList.java:440)
        at com.ibm.rules.engine.lang.parser.IlrLanguageParserHelper.
    getGenericValueAux(IlrLanguageParserHelper.java:437)
        at com.ibm.rules.engine.lang.parser.IlrLanguageParserHelper.
    getGenericValueAux(IlrLanguageParserHelper.java:434)
        at com.ibm.rules.engine.lang.parser.IlrLanguageParserHelper.
    getGenericValueAux(IlrLanguageParserHelper.java:434)
        at com.ibm.rules.engine.lang.parser.IlrLanguageParserHelper.
    getGenericValueAux(IlrLanguageParserHelper.java:434)
        at com.ibm.rules.engine.lang.parser.IlrLanguageParserHelper.
    getGenericValueAux(IlrLanguageParserHelper.java:434)
        at com.ibm.rules.engine.lang.parser.IlrLanguageParserHelper.
    getValue(IlrLanguageParserHelper.java:397)
    

Problem conclusion

  • The code is fixed.
    

Temporary fix

  • Create a non generic class extended the generic one.
    

Comments

APAR Information

  • APAR number

    RS02883

  • Reported component name

    WDS FOR RULES

  • Reported component ID

    5725B6903

  • Reported release

    890

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-09-14

  • Closed date

    2017-09-18

  • Last modified date

    2017-09-18

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Modules/Macros

  • 999
    

Fix information

  • Fixed component name

    WDS FOR RULES

  • Fixed component ID

    5725B6903

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSQP76","label":"IBM Operational Decision Manager"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"890","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
17 February 2022