Subsystem Factory

Identifier

com.ibm.etools.systems.core.subsystemfactory

Description

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 plugin com.ibm.etools.systems.doc.isv for documentation details on defining subsystems. To enable it, rename toc.xml.off to toc.xml.

Markup

   <!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
   >

Example

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.

API Information

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.

Supplied Implementation

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 All Rights Reserved.