Book a Demo

Author Topic: How to hide Namespaces in all Diagrams?  (Read 6684 times)

ngong

  • EA User
  • **
  • Posts: 275
  • Karma: +2/-2
    • View Profile
How to hide Namespaces in all Diagrams?
« on: April 28, 2011, 11:25:19 pm »
I have seen it ones to hide all "::" seperated parts of a name in an element showing only the most specific one, but I can not get it to work again with EA 8.0:

I have a lot of hierarchically sorted interfaces. On Class diagrams that are hosting interfaces as boxes, each name of the interface is preceded by all parent interfaces.

I unchecked "Show Additional Parents" and "Show Namespace" in the properties of diagrams but the huge list of parents still appear in each box.

Any idea what I miss here?

Thank you for help


Rolf
Rolf

ngong

  • EA User
  • **
  • Posts: 275
  • Karma: +2/-2
    • View Profile
Re: How to hide Namespaces in all Diagrams?
« Reply #1 on: May 01, 2011, 03:30:47 am »
To explain, what I mean I prepared a minimal model hosting nested interfaces.

https://ngong.eu/files/attach/Sparx/nmspc.eap

In the children interface diagram I like to get rid of the Interface1:: prefixes from Interface2 and 3. If the nesting is deep, this gets unreadable.

Even the answer "This is not possible in version 8 of EA." would stop me from searching for a solution.

Rolf
Rolf

Frank Horn

  • EA User
  • **
  • Posts: 535
  • Karma: +1/-0
    • View Profile
Re: How to hide Namespaces in all Diagrams?
« Reply #2 on: May 01, 2011, 07:16:34 am »
In EA (and generally in UML) namespace branches are represented by packages This is what the "show namespace" option for EA diagrams refers to (it means showing the element name prefixed with the name of the element's parent package).

With the "show additional parents" option "parents" means "generalizations"; it shows the names of all elements from which an element inherits and which are not contained in the diagram.

Your interfaces however are nested. Nested elements are always shown with the full path. AFAIK there is no way to turn this off in EA.

Anyway, why do you build a deep hierarchy of nested interfaces? I don't quite understand what this is good for; at least it's unusual.  Couldn't you use generalization relations? Or, to put it another way, what are these nested interfaces supposed to represent?

ngong

  • EA User
  • **
  • Posts: 275
  • Karma: +2/-2
    • View Profile
Re: How to hide Namespaces in all Diagrams?
« Reply #3 on: May 01, 2011, 05:07:29 pm »
Thank you for your reply, Frank.

If a bigger special parent interface extends several smaller genaral child interfaces, I found it easy to express this by de-composition (glad to found this in EA). I need to find a way to split wallpapers of associations (generalizations) to managable bunches of objects you are able to look at and discuss on. However, easy navigation between them is a must. Therefore I chose hierarchical decomposition because this is the semantics of complex interfaces to analyse. Also you are not able to predict, what interfaces will be split up in the future. Think about big projects, where this "decomposition" (you may call it "extentions") has 3, 4, 5 layers.

Would like to know your opinion about this.

Rolf
Rolf

ngong

  • EA User
  • **
  • Posts: 275
  • Karma: +2/-2
    • View Profile
Re: How to hide Namespaces in all Diagrams?
« Reply #4 on: May 03, 2011, 02:19:57 am »
Thank you again, Frank

you made my brain working: Now I simply introduce a package for each refinement with the same name as the refined element. Than I move all elements of the refinement in that package, even the diagram that holds the refining elements.

As usual in EA the Composite link does not change. Navigation is preserved.

And: The Show Namespace property works now as I expected it with the direct refinement.

Kind Regards

Rolf
« Last Edit: May 03, 2011, 02:21:31 am by ngong »
Rolf