I have an MDG with a profile that defines 14 stereotypes used for network diagraming It alos has an associated toolbox and digram profile. All 14 stereotypes are created the same way, that is,
in the profile:
- all stereotypes objects extend to the same Node metaclass object.
- Their attributes structure are the same in that each have:
- an _metatype with a unique value (such as Router, Server. etc.),
- an _image with a decloration script to provide icon on the steretype object,
- an icon attribute to provide a similar icon in the project prowser
- unique set of attributes for creation of tags.
- The default appearace for each object is set so that most have a unique background color.
When I create an new object on a diagram using the MDG's stereotypes, all is well, except for two. In these two stereotypes, EA does not include the <<stereotype name>> above the object name and there is another icon under the defined _image icon (you can see it around the edges of the defined image). The dafault color, tags and object name as well as the name of the Stereotype in the object's General properties are OK. I suspect that EA is getting confused with another stereotype of the same name. In my MDG the names are "Server" and "Storage", but I can see in the list of stereotypes that there was also a "server" and "storage". I know that in some functions when EA looks up stereotypes, it ignores case as well as the generating MDG, apparently picking the first stereotype in the return query. In an effort to correct the problem, under UML Types I deteted "server" and "storage" stereotypes and then removed all MDG technologies except Basic, Simple, Code and my MDG. The "server" and "storage" stereotypes now do not show up in either UML Type list nor for stereotypes in the object's general properties, yet the generated object are still displayed without the <<stereotype name>> and the corrupted _image decloration iocn.
If this is just a display issue, then it is not a huge problem, but I am concerned that these two object are being creating differently internally than the other stereotypes which may cause issues later. For example if I start using API to access the objects.
Other than using a different name in my MDG, is there a way to fix this?