Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 244575 - add possibility to navigate to a specific node
Summary: add possibility to navigate to a specific node
Status: RESOLVED FIXED
Alias: None
Product: Riena
Classification: RT
Component: navigation (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Carsten Drossel CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-19 12:48 EDT by Stefan Flick CLA
Modified: 2009-01-15 17:29 EST (History)
0 users

See Also:


Attachments
the patch file (4.47 KB, patch)
2008-08-19 12:49 EDT, Stefan Flick CLA
christian.campo: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Flick CLA 2008-08-19 12:48:12 EDT
until now you can navigate to the selected node of a module group. with the attached patch it's possible to navigate to any node inside a group.
Comment 1 Stefan Flick CLA 2008-08-19 12:49:08 EDT
Created attachment 110362 [details]
the patch file

based on HEAD
Comment 2 Carsten Drossel CLA 2008-08-20 08:57:33 EDT
In the patch the method navigate(..) in NavigationProcessor is changed so that it first uses the given target ID to find or create the root node of the target sub-tree e.g. a module group node. Then the same ID is used to find a child of that node e.g. a sub module. This appears strange: the module group and the sub module have the same nodeId? Also very unusual: NavigationNode gets a new method get*Child*(..) that may return the node *itself*.

I think because of these issues the patch should not be applied as it is.

There is another solution for the use case that the targetId refers to a tree (e.g. a module group) and that not the first sub module should be activated but a specified one: the NavigationArgument could be extended to hold an optional childId of a child to be activated.
Comment 3 Carsten Drossel CLA 2008-08-20 11:22:35 EDT
accidentially closed...
Comment 4 Carsten Drossel CLA 2008-08-21 07:28:53 EDT
Discussed this with Stefan: the idea is that the targetIdmay not be the nodeId of the module group created by the builder but the nodeId of the sub module to activate. The node builder decides (based on some application specific logic) that a module group (with another nodeId) must be created around the sub module. Then the node that must be activated is not the module group returned by the builder (what would cause the first sub module to be activated) but a child of the module group with the specified targetID.

Since most of the time the node returned by the builder will have the specified targetId and would be returned by the getChild(..) method call on itself we agreed that the method should be renamed: findNode(..). We also agreed that the whole INavigationNodeId concept will have to be reviewed.
Comment 5 Carsten Drossel CLA 2008-08-21 07:34:47 EDT
reviewed, discussed, fixed and applied patch