IBM Support

PM69298: INHERITANCE RELATIONSHIPS NOT DISPLAYED ON CLASS DIAGRAMS (C++)

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Environment:
    - Microsoft Windows
        - Product: RSA 8.5
    
    Reproducible: Y
    
    Description of problem:
    
    Inheritance relations of C++ classes that are inside a namespace
    are not displayed properly in a class diagram (after they have
    been dragged and dropped there for instance).
    
    In the property view of the children classes, in the 'Super
    class' table the green 'C' icon appears, but the 'Super Class'
    and 'Visibility' columns are empty. When the children classes
    explicitly specify the namespace of their parents, the problem
    doesn?t occur.
    
    The problem only happens when the class diagram is created using
    class from source. When converting the C++ classes to UML and
    then creating the class diagram from the model, the problem
    doesn?t appear.
    
    Steps to reproduce
    
    1) Create a class containing the same code as case 2 or case 4
    below.
    
    2) Drag all three classes on a class diagram.
    
    3) Notice that the inheritance relationship isn?t displayed and
    that in the property view the super class of the children isn?t
    displayed properly.
    
    // Case 1: Works properly
    class Base{};
    class Child1 : public Base{};
    class Child2 : public Base{};
    
    // Case 2: Base class is not found
    namespace NS1
    {
    class Base2{};
    class Child21 : public Base2{};
    class Child22 : public Base2{};
    }
    
    // Case 2: Works properly
    namespace NS2
    {
    class Base3{};
    class Child31 : public NS2::Base3{};
    class Child32 : public NS2::Base3{};
    }
    
    // Case 2: Base class is not found
    namespace NS3
    {
    class Base4{};
    }
    using namespace NS3;
    class Child41 : public Base4{};
    class Child42 : public Base4{};
    
    
    Workaround
    
    Create a transformation from the C++ to UML. Then drag the
    model?s elements to a class diagram. The inheritance
    relationships in the diagram are properly displayed.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Generalizations are not shown on the C++ class diagram if a
    class is under a namespace.
    

Problem conclusion

  • Generalizations are now shown on the C++ class diagram even
    if the class is under a namespace.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM69298

  • Reported component name

    RATL SW ARCHITE

  • Reported component ID

    5725A3000

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-07-20

  • Closed date

    2012-12-04

  • Last modified date

    2012-12-04

  • 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

    RATL SW ARCHITE

  • Fixed component ID

    5725A3000

Applicable component levels

  • R850 PSN

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYK2S","label":"Rational Software Architect Designer"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"850","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}},{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYK2S","label":"Rational Software Architect Designer"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"850","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
10 September 2020