Subsystem Configurations

org.eclipse.rse.ui.subsystemConfigurations

This extension point allows tool-writers to extend the capability of the Remote System Explorer, by identifying a subsystem configuration that produces a subsystem whenever a new connection is created. This subsystem appears under the connection when it is expanded in the Remote Systems view of the Remote System Explorer perspective. The subsystem configuration is called by the Remote System framework when the user creates a new connection, when the connection's system type is one of the types identified as supported by this subsystem configuration extension.

There is one subsystem object per connection, and the role of a subsystem is to allow users to work with remote resources for the remote system identified by the containing connection. Defining a subsystem configuration involves more than the single subsystem configuration class. There must also be a subsystem class defined, and a system class defined. There may also be other classes defined, such as classes for the content area of wizards for defining filters, user actions and compile commands, if the subsystem configuration wishes to support these. See the developer documentation for the Remote System Explorer for documentation details on defining subsystems.

<!ELEMENT extension (configuration+)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>

(no description available)



<!ELEMENT configuration EMPTY>

<!ATTLIST configuration

id          CDATA #REQUIRED

vendor      CDATA #REQUIRED

icon        CDATA #REQUIRED

iconlive    CDATA #REQUIRED

class       CDATA #REQUIRED

name        CDATA #REQUIRED

description CDATA #REQUIRED

systemTypes CDATA #IMPLIED

category    CDATA #IMPLIED

priority    CDATA #IMPLIED>

This element defines a subsystem configuration to the Remote System Explorer framework.



Example of using this extension point:

   

<extension point=

"org.eclipse.rse.ui.subsystemConfigurations"

>

<configuration systemTypes=

"Unix;Linux;Local"

name=

"Databases"

icon=

"icons/dbsubsys.gif"

iconlive=

"icons/dbsubsyslive.gif"

id=

"com.acme.tools.mypkg.myconfiguration"

class=

"com.acme.tools.db.DBSubSystemFactory"

category=

"databases"

vendor=

"ACME"

>

</configuration>

</extension>

Defining the xml for the extension point is easy. There is a fair amount to know about creating the classes needed for a subsystem configuration, however. For this information, consult the Remote System Explorer developer documention, including the JavaDoc for the supplied classes and interfaces for this task.

The provider of subsystem factories must implement the interface org.eclipse.rse.core.subsystems.ISubSystemConfiguration, although it is not recommended to create a new class from scratch. Rather, it is highly recommended to use the supplied base class org.eclipse.rse.core.subsystems.SubSystemConfiguration. This base class pre-supplies much functionality, including support for persisting properties and metadata, and support for filters.

All supplied subsystems are implemented via use of this extension point. See the plugin.xml files for plugins org.eclipse.rse.subsystems.files.dstore and org.eclipse.rse.subsystems.processes.dstore for examples.