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