Community
Participate
Working Groups
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>
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.
- 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
Closing [api] bugs that have apparently been fixed in the code.
[target cleanup] 2.0 M5 was the original target milestone for this bug