Bug 173265 - [api] Need systemType -> subsystemConfiguration association
Summary: [api] Need systemType -> subsystemConfiguration association
Status: CLOSED FIXED
Alias: None
Product: Target Management
Classification: Tools
Component: RSE (show other bugs)
Version: 1.0.1   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: 2.0   Edit
Assignee: Uwe Stieber CLA
QA Contact: Martin Oberhuber CLA
URL:
Whiteboard:
Keywords: api
Depends on:
Blocks: 170918
  Show dependency tree
 
Reported: 2007-02-07 08:19 EST by Martin Oberhuber CLA
Modified: 2008-08-13 13:16 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Oberhuber CLA 2007-02-07 08:19:15 EST
In current RSE, subsystemConfigurations are registered against a well-known systemType: The subsystem knows what systemTypes it can deal with.
We want to be able and also do it the other way round: define a new systemType, and register it against a list of well-known subsystemConfigurations. 

Background: We currently have some existing, well-known subsystemConfigurations with known capabilities (e.g. ssh, ftp work with any TCP/IP based connection). Adding a new systemType (e.g. "FooBar Inc. Linux") requires creating a copy of each subsystemConfiguration that it should work with, and hooking it up with the new systemType id. This is awkward. We think it should be possible to leave the subsystemConfigurations alone, and let the systemType tell RSE the list of subsystemConfigurations that it can deal with.

The list of subsystemConfigurations that's advertised by the systemType can be considered a list of "default" configurations. So this does not interfere with the current behavior, that anybody can also register new subsystemConfigurations against the known systemType.

We thus propose the following API change:

interface IRSESystemType {
    /** Get a list of known subsystem configuration id's that are registered
     * against the system type. More subsystemConfigurations can be added
     * through the subsystemConfigurations extension point.
     */
    String[] getSubsystemConfigurationIds()
}

Along with the following extension point change (by example):

<extension point="org.eclipse.rse.core.systemTypes">
    <systemType
        name="Foobar Linux by ssh"
        description="Foobar Linux connection over ssh."
        id="org.eclipse.rse.systemtype.tcpip"
        subsystemConfigurations="ssh.files;ssh.shells"
        icon="icons/full/obj16/systemcommands_obj.gif"
        iconLive="icons/full/obj16/systemcommandslive_obj.gif"
        />
</extension>
Comment 1 Martin Oberhuber CLA 2007-02-07 08:24:58 EST
This proposal is related to the plan item for making systemTypes more flexible (bug 170918). If at all possible, we need it done by M5.
Comment 2 Uwe Stieber CLA 2007-02-09 10:59:19 EST
- Added method getSubsystemConfigurationIds to interface IRSESystemType
- Added attribute subsystemConfigurationIds to the system types extension point
- Added logic to read and parse the new extension point attribute and added the new method to return the list to default interface implementation (RSESystemType)
- SubSystemConfigurationProxy is calling getSubsystemConfigurationsIds during validating the list of supported system types
Comment 3 Martin Oberhuber CLA 2007-02-14 11:17:03 EST
Closing [api] bugs that have apparently been fixed in the code.
Comment 4 Martin Oberhuber CLA 2008-08-13 13:16:58 EDT
[target cleanup] 2.0 M5 was the original target milestone for this bug