Bug 235202 - [api][breaking] Make RSEMainNewConnectionWizard implementation classes "internal"
Summary: [api][breaking] Make RSEMainNewConnectionWizard implementation classes "inter...
Status: ASSIGNED
Alias: None
Product: Target Management
Classification: Tools
Component: RSE (show other bugs)
Version: 3.0   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: Future   Edit
Assignee: dsdp.tm.rse-inbox CLA
QA Contact: Martin Oberhuber CLA
URL:
Whiteboard:
Keywords: api
Depends on:
Blocks:
 
Reported: 2008-06-02 14:57 EDT by Martin Oberhuber CLA
Modified: 2012-11-19 04:57 EST (History)
2 users (show)

See Also:
mober.at+eclipse: pmc_approved+
javier.montalvoorus: review+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Oberhuber CLA 2008-06-02 14:57:15 EDT
The classes that implement the Wizard selection page of the RSE New Connection Wizard are really just implementation classes and should therefore be internal:

IRSENewConnectionWizardDescriptor
RSEMainNewConnectionWizard
RSENewConnectionWizardDescriptor
RSENewConnectionWizardRegistry
RSENewConnectionWizardSelectionPage
RSENewConnectionWizardSelectionTreeDataManager
RSENewConnectionWizardSelectionTreeElement

The rationale is, that RSE does provide an abstract framework for wizard registries as API (org.eclipse.rse.ui.wizards.registries package). The 7 types mentioned are just a concrete implementation of that framework, that can not really be extended by the user anyways because 

   RSEMainNewConnectionWizard

is already marked @noextend, the other types are tightly interrelated, and configuration of the new connection wizard presentation (such as restricting to system types) is to be done via the API class SystemNewConnectionAction.

Moving these types into internal non-API allows us more flexibility to work on the implementation for future API-compatible releases. The fix for bug 235197 is one example that would benefit from making these types non-API, because this would allow getting rid of the dangerous deprecated RSENewConnectionWizard.getInstance() singleton access method and related use.
Comment 1 Martin Oberhuber CLA 2008-06-02 16:17:06 EDT
Migration Notes: Modifications of the system type selection page in the RSE New Connection Wizard are deprecated. Direct access to the RSE wizard registry is also deprecated.

The only supported way of accessing the new connection wizard is via the 
   SystemNewConnectionAction
which allows restricting system types and pre-configuring the wizards based on selection and context.

Committers please vote on adding this to RSE 3.0RC3.
Comment 2 Radoslav Gerganov CLA 2008-06-03 09:31:17 EDT
I agree, +1
Comment 3 Martin Oberhuber CLA 2008-06-10 05:35:53 EDT
Too late for 3.0