IBM Support

RS03940: ERROR DURING DE RULESET GENERATION WHEN TESTING LONG VARIABLE 'IS ONE OF' INTEGER DOMAINS

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • In a rule condition, when testing if a long variable 'is one of'
    of a java.lang.Integer domains, the following error is thrown
    during the ruleset generation:
    
    For instance the following rule throws this exception:
    
    if the age of person is one of { TEENAGER, CHILD }
    
    
    
    com.ibm.rules.engine.bytecode.asm.coding.ErrorCodingException:
    Could not cast ((java.lang.Number)((com.ibm.rules.engine.migrat
    ion.classdriver.runtime.XmlBindingServiceImpl)this#com.ibm.brl.
    generated.engine.CondExecEnv#.serviceHandler.xmlBindingServiceA
    ttr).getClassDriverManager().get(3,this#com.ibm.brl.generated.en
    n)).longValue()to java.lang.Integer((java.lang.Integer)((java.la
    m.ibm.rules.engine.migration.classdriver.runtime.XmlBindingServ
    iceImpl)this#com.ibm.brl.generated.engine.CondExecEnv#.serviceH
    andler.xmlBindingServiceAttr).getClassDriverManager().get(3,this
    n)).longValue())
    in com.ibm.brl.generated.engine.CondExecEnv.test1()
    public boolean test1(){
     return com.ibm.brl.generated.engineutil.gen.ArrayNotConstantCo
    ntainsMethods.containsForObject(newjava.lang.Integer[]{com.ibm.b
    is.getEngineData().AgeDomain_get_CHILD(),com.ibm.brl.generated.e
    geDomain_get_TEENAGER()},(java.lang.Integer)(((java.lang.Number)
    migration.classdriver.runtime.XmlBindingServiceImpl)com.ibm.brl
    .generated.engine.CondExecEnv.this.serviceHandler.xmlBindingSer
    viceAttr)).getClassDriverManager().get(3,com.ibm.brl.generated.e
    ))).longValue());
    }
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Users generating ruleset.                                    *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * In a rule condition, when testing if a long variable 'is one *
    * of'                                                          *
    * of a java.lang.Integer domains, the following error is       *
    * thrown                                                       *
    * during the ruleset generation:                               *
    *                                                              *
    * For instance the following rule throws this exception:       *
    *                                                              *
    * if the age of person is one of { TEENAGER, CHILD }           *
    *                                                              *
    *                                                              *
    *                                                              *
    * com.ibm.rules.engine.bytecode.asm.coding.ErrorCodingExceptio *
    * n:                                                           *
    * Could not cast                                               *
    * ((java.lang.Number)((com.ibm.rules.engine.migrat             *
    * ion.classdriver.runtime.XmlBindingServiceImpl)this#com.ibm.b *
    * rl.                                                          *
    * generated.engine.CondExecEnv#.serviceHandler.xmlBindingServi *
    * ceA                                                          *
    * ttr).getClassDriverManager().get(3,this#com.ibm.brl.generate *
    * d.en                                                         *
    * n)).longValue()to                                            *
    * java.lang.Integer((java.lang.Integer)((java.la               *
    * m.ibm.rules.engine.migration.classdriver.runtime.XmlBindingS *
    * erv                                                          *
    * iceImpl)this#com.ibm.brl.generated.engine.CondExecEnv#.servi *
    * ceH                                                          *
    * andler.xmlBindingServiceAttr).getClassDriverManager().get(3, *
    * this                                                         *
    * n)).longValue())                                             *
    * in com.ibm.brl.generated.engine.CondExecEnv.test1()          *
    * public boolean test1(){                                      *
    *  return                                                      *
    * com.ibm.brl.generated.engineutil.gen.ArrayNotConstantCo      *
    * ntainsMethods.containsForObject(newjava.lang.Integer[]{com.i *
    * bm.b                                                         *
    * is.getEngineData().AgeDomain_get_CHILD(),com.ibm.brl.generat *
    * ed.e                                                         *
    * geDomain_get_TEENAGER()},(java.lang.Integer)(((java.lang.Num *
    * ber)                                                         *
    * migration.classdriver.runtime.XmlBindingServiceImpl)com.ibm. *
    * brl                                                          *
    * .generated.engine.CondExecEnv.this.serviceHandler.xmlBinding *
    * Ser                                                          *
    * viceAttr)).getClassDriverManager().get(3,com.ibm.brl.generat *
    * ed.e                                                         *
    * ))).longValue());                                            *
    * }                                                            *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • Cast has been added to the code.
    

Temporary fix

Comments

APAR Information

  • APAR number

    RS03940

  • Reported component name

    WDS FOR RULES

  • Reported component ID

    5725B6903

  • Reported release

    8A0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-07-05

  • Closed date

    2022-07-20

  • Last modified date

    2022-09-08

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

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

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 Decision Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8A0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
08 September 2022