Opened 15 years ago

Closed 15 years ago

#189 closed task (fixed)

refactoring after rename or delete of TerminalNodes

Reported by: kolczyk Owned by: promot
Priority: critical Milestone: Promot 0.8.3
Component: PromotGuiBase Version: 0.8.2
Severity: fatal Keywords:
Cc:

Description

If a TerminalNode? is renamed/deleted in a class, the dependent classes should be refactored, i.e. the 'invalid edges' have to be renamed or deleted. Otherwise an invalid element is created in the visual editor. The modeler can only get rid of the 'invalid edge' by editing the mdl code.

Change History (1)

comment:1 Changed 15 years ago by rempel

  • Resolution set to fixed
  • Status changed from new to closed

There are different ways to get rid of invalid elements. first you can create the missing element. for slot invalid-XXX and port invalid-YYY: create Terminal YYY in class for slot XXX (double clicking on slot XXX opens the defining class for editing). Second delete the invalid edge. this works if there is no link node in this link (select edge and delete). If there is a link node the complete link needs to be deleted, so select the link node and delete the link.

Starting from revision [9044] the renaming of terminals results in automatic updates in all classes using links with the renamed terminals. As changing the name of terminal or deleting terminals in a class used also as slot/element in other classes will change classes beside the one currently edited (to ensure consistency) please save your work before editing terminals.

Renaming of terminals will also change classes using this terminals. the undo currently only changes the class defining the terminal back, so classes using this terminal will become inconsistent. This cannot be corrected by renaming the terminal again (as the expected old terminal name to be updated is wrong), so avoid the undo for renaming terminals for now.

For the deletion of terminals it is still necessary to correct the classes using this terminal in links. A new menu entry to do this is present under edit> remove non-existing terminals in links. If the class was already opened in the editor the link might still be present leading to the former terminal. This edge can be removed, manually or using the command (menu entry).

There is no automatic update of the graphical display of the editors so refresh might be used.

[9048] implements functionality dealing with renaming (automatical refactoring implemented) and delete (automatical working for links without link nodes, additional manual cleanup (using the menu) needed for links with nodes) of terminals.

Note: See TracTickets for help on using tickets.