IBM Support

PI69050: TYPE VISIBILITY INCORRECT AFTER MODEL UPGRADE

A fix is available

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Using Rhapsody 8.1, 8.1.4 (32-bit version), and 8.1.5 (64-bit
    version:
    After upgrading the model from Rhapsody 7.5.3.1 to Rhapsody
    8.1.5, some
    enumeration types that previously had a visibility of Public
    have
    changed to be Private.  Looking at the properties for setting
    the
    visibility, it appears they should still be public.
    
    The CPP_CG::Type::Visibility property was inherited for these
    types.
    If the property is overridden locally, then it can be changed
    back to
    Public (but we shouldn't need to do that).  The inherited value
    should
    be in effect.
    
    Further, we noticed that if the class is generated individually
    (e.g.
    by selecting the class and using Code -> Re Generate -> Selected
    Classes), it is correct with the type being Public.  But when
    the whole
    configuration is generated, it changes back to Private.
    Sample Model is attached
    
    
    It would appear that two code generation rules are conflicting:
    1) A class members visibility should always be private by
    default, unless the visibility is explicitly overridden at the
    type.
    2) A child element should inherit a property overridden by its
    parent
    
    So the child has inherited the visibility setting of public from
    its parent package, but because it is not explicitly overridden
    at the type level, the type is defaulting to private. Which
    looks inconsistent and confusing to the user because the
    generated code does not appear to be following the properties in
    the model...
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Rhapsody users                                               *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Type Visibility can be Incorrect in code generation of more  *
    * then one class.                                              *
    * In this  the property CPP_CG::Type::Visibility can be taken  *
    * from the wrong class, resulting in wrong type  Visibility.   *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • Fixed in Rhapsody 8.2
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI69050

  • Reported component name

    TLOGIC RHAPSODY

  • Reported component ID

    5724V74RP

  • Reported release

    814

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-09-12

  • Closed date

    2016-12-05

  • Last modified date

    2016-12-05

  • 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

    TLOGIC RHAPSODY

  • Fixed component ID

    5724V74RP

Applicable component levels

  • R814 PSN

       UP



Document information

More support for: Rational Rhapsody

Software version: 8.1.4

Reference #: PI69050

Modified date: 05 December 2016