Subsystem Factory

com.ibm.etools.systems.core.subsystemfactory

This extension point allows tool-writers to extend the capability of the Remote System Explorer, by identifying a subsystem factory 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 factory 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 factory 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 factory involves more than the single subsystem factory 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 factory wishes to support these. See the developer documentation for the Remote System Explorer for documentation details on defining subsystems.

<!ELEMENT extension (factory+)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT factory EMPTY>

<!ATTLIST factory

id          CDATA #REQUIRED

vendor      CDATA #REQUIRED

icon        CDATA #REQUIRED

iconlive    CDATA #REQUIRED

class       CDATA #REQUIRED

name        CDATA #REQUIRED

systemtypes CDATA #IMPLIED

category    CDATA #IMPLIED

systemClass CDATA #IMPLIED>

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



Example of using this extension point:

   

<extension point=

"com.ibm.etools.systems.core.subsystemfactory"

>

<factory systemtypes=

"Unix;Linux;Local"

name=

"Databases"

icon=

"icons/dbsubsys.gif"

iconlive=

"icons/dbsubsyslive.gif"

id=

"com.acme.etools.mypkg.myfactory"

class=

"com.acme.etools.db.DBSubSystemFactory"

category=

"databases"

vendor=

"ACME"

>

</factory>

</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 factory, 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 com.ibm.etools.systems.subsystems.SubSystemFactory, although it is not recommended to create a new class from scratch. Rather, it is highly recommended to use the supplied base class com.ibm.etools.systems.dftsubsystem.impl.DefaultSubSystemFactory. This base class pre-supplies much functionality, including support for persisting properties and metadata, and support for filters.

All IBM-supplied subsystems are implemented via use of this extension point. See the plugin.xml files for plugins com.ibm.etools.systems.core, com.ibm.etools.systems.universal and com.ibm.etools.iseries.core for examples.


(C) Copyright IBM Corp. 2002, 2004 All Rights Reserved.