Just had to debug a fairly large model that I am not intimately familiar with, that used inheritance (entity inheritance as well as multiple custom superclasses) and it was rather hard to understand the overall structure.

Wonder if we should create an alternative tree view that presents entities organized by their inheritance (similar to Eclipse "hierarchy" view)? Switching between the default and inheritance view can be done via tabs or toolbar buttons. Non-persistent superclasses can still be shown as disabled class nodes.

Another idea is to allow quick movement between DbEntities and ObjEntities. This can be achieved by providing extra links (maybe via right click? or an extra icon next to the main tree icon). This is applicable to both Default and Inheritance views.

The tree structure for the inheritance view can look like this (ObjEntities are in mixed case, DbEntities - in uppercase, non-entity superclasses are in <>) :

datamap
   <CayenneDataObject>
      Artist (ARTIST)
      Painting (PAINTING)
      Person (PERSON)
         Manager (PERSON)
   <CustomSuperclass1>
      MyEntity1 (MYENTITY1)
   ARTIST (Artist)
   PAINTING (Painting)
   PERSON (Person, Manager)
   MYENTITY1 (MyEntity1)

Should help in quick navigation and structure visualization...

Andrus

Reply via email to