Bug 161195 - [api] Transfer the full control of system type actions and state handling to the system type contributor
Summary: [api] Transfer the full control of system type actions and state handling to ...
Status: RESOLVED FIXED
Alias: None
Product: Target Management
Classification: Tools
Component: RSE (show other bugs)
Version: 1.0   Edit
Hardware: PC Windows XP
: P3 enhancement (vote)
Target Milestone: 2.0   Edit
Assignee: Martin Oberhuber CLA
QA Contact: Martin Oberhuber CLA
URL:
Whiteboard:
Keywords: api
Depends on: 176481 177537 178021 178023
Blocks: 170918
  Show dependency tree
 
Reported: 2006-10-17 05:30 EDT by Uwe Stieber CLA
Modified: 2008-08-13 13:17 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Uwe Stieber CLA 2006-10-17 05:30:42 EDT
With RSE 1.0, the complete state handling and life-cycle for system types are hidden within RSE. A contributor of a system has no chance to prevent things from happening (like connect on node expand). This is bad. Still it is a good idea to have default actions and life-cycle management for every system type or subsystem to allow easy startup, but it should be also possible for contributors to take over the complete handling of the nodes (starting with the system type node) in terms of states/life-cycle [delegates], context menu actions [delegates], toolbar actions [delegates] and label and content providers [delegates].
Comment 1 Martin Oberhuber CLA 2007-02-07 08:32:04 EST
It looks like one step in the direction of allowing contributors more control over the system types has been done with the addition of the dynamic systemTypeContributor extension point (bug 172662).

Since the extender is now able to register a systemTypeContributor, he can return a specialized systemType class (e.g. MySystemType implements IRSESystemType). This allows him to also register a corresponding AdpaterFactory and Adapter (MySystemTypeAdapter extends RSESystemTypeAdapter) where at least the isEnabled() method can be overridden to allow for dynamic enablement.
Comment 2 Uwe Stieber CLA 2007-03-06 08:01:32 EST
Part of the work has been done by fixing [176481]. SystemViewConnectionAdapter is only adding actions being approved by the system type provider via RSESystemTypeAdapter. The default implemention is to accept always all actions except those actions which had been conditions associated already within the original implementation.
Comment 3 Martin Oberhuber CLA 2007-03-21 06:01:58 EDT
Uwe do you think this can be marked fixed since your recent changes?
Can you add references to related bugs you fixed into the "depends on" field?
Comment 4 Uwe Stieber CLA 2007-03-21 06:33:59 EDT
Yes. This is done now. With recent changes the dynamic system type provider can gain full control of the system type actions without loosing any of the default RSE ones.
Comment 5 Martin Oberhuber CLA 2008-08-13 13:17:44 EDT
[target cleanup] 2.0 M6 was the original target milestone for this bug