RSE
Release 1.0

org.eclipse.rse.core.servicesubsystem
Class ServiceSubSystemConfiguration

java.lang.Object
  extended byorg.eclipse.rse.core.subsystems.SubSystemConfiguration
      extended byorg.eclipse.rse.core.servicesubsystem.ServiceSubSystemConfiguration
All Implemented Interfaces:
IAdaptable, org.eclipse.rse.core.persistance.IRSEPersistableContainer, IServiceSubSystemConfiguration, ISubSystemConfiguration, ISystemFilterPoolManagerProvider

public abstract class ServiceSubSystemConfiguration
extends SubSystemConfiguration
implements IServiceSubSystemConfiguration

This class is to be used by subsystem-providers that do not desire to use MOF/EMF. It is therefore recommended starting base class for subsystem providers.
To use this class, simply subclass it and override the appropriate methods in it, such as:

For additional customization of the subsystem, you may supply a SubSystemConfigurationAdapter, which allows you to

  • supply your own subsystem popup menu actions via SubSystemConfigurationAdapter.getAdditionalSubSystemActions(ISubSystemConfiguration, ISubSystem, Shell),
  • supply your own New->Filter popup menu action via SubSystemConfigurationAdapter.getNewFilterPoolFilterAction(ISubSystemConfiguration, ISystemFilterPool, Shell), and
  • supply your own Change Filter popup menu action via SubSystemConfigurationAdapter.getChangeFilterAction(ISubSystemConfiguration, ISystemFilter,Shell).

    This class is typically used together with:

    In general, for what methods to override, only worry about the non-generated methods in this class, and ignore the hundreds in SubSystemConfiguration

    See Also:
    ServiceSubSystem, AbstractConnectorService, AbstractConnectorServiceManager

    Field Summary
     
    Fields inherited from class org.eclipse.rse.core.subsystems.SubSystemConfiguration
    _isDirty, currentlyProcessingConnection, currentlyProcessingSubSystemConfiguration, currentlySelected, currentlySelectedConnection, filterNamingPolicy, filterPoolManagerList, filterPoolManagers, filterPoolManagersPerProfile, imageTable, subSystemList
     
    Fields inherited from interface org.eclipse.rse.core.subsystems.ISubSystemConfiguration
    FORCE_INTO_MEMORY, LAZILY
     
    Constructor Summary
    protected ServiceSubSystemConfiguration()
               
     
    Method Summary
    protected  Vector getAdditionalFilterActions(ISystemFilter selectedFilter, Shell shell)
              Overridable method for getting Remote System view popup menu actions.
    protected  Vector getAdditionalSubSystemActions(ISubSystem selectedSubSystem, Shell shell)
              Overridable method for getting Remote System view popup menu actions.
     String getTranslatedFilterTypeProperty(ISystemFilter selectedFilter)
              Optionally overridable method affecting the visual display of objects within subsystems created by this factory.
    protected  void initializeSubSystem(ISubSystem subsys, ISystemNewConnectionWizardPage[] yourNewConnectionWizardPages)
              Overridable lifecycle method.
     boolean isCaseSensitive()
              Overridable configuration method.
     boolean isPortEditable()
              Overridable configuration method.
     boolean supportsDuplicateFilterStrings()
              Overridable configuration method.
     boolean supportsFileTypes()
              Overridable configuration method.
     boolean supportsFilters()
              Overridable configuration method.
     boolean supportsNestedFilters()
              Overridable configuration method.
     boolean supportsSubSystemConnect()
              Overridable configuration method.
     boolean supportsUserDefinedActions()
              COverridable configuration method.
     
    Methods inherited from class org.eclipse.rse.core.subsystems.SubSystemConfiguration
    addFilterPoolManager, addSubSystem, changingSystemProfileActiveStatus, cloneEvent, cloneSubSystem, commit, configureNewFilterAction, copyFilterPoolManager, copySubSystemData, createDefaultFilterPool, createEvent, createEvent, createEvent, createServerLauncher, createSubSystem, createSubSystemAfterTheFact, createSubSystemInternal, deleteFilterPoolManager, deleteSubSystem, deleteSubSystemsByConnection, deletingSystemProfile, disconnectAllSubSystems, doPostRestoreProcessing, filterEventFilterCreated, filterEventFilterDeleted, filterEventFilterPoolCreated, filterEventFilterPoolDeleted, filterEventFilterPoolRenamed, filterEventFilterPoolsRePositioned, filterEventFilterRenamed, filterEventFiltersRePositioned, filterEventFilterStringCreated, filterEventFilterStringDeleted, filterEventFilterStringsRePositioned, filterEventFilterStringUpdated, filterEventFilterUpdated, fireEvent, fireEvent, fireEvent, fireSubSystemEvent, fireSubSystemEvent, fireSubSystemEvent, fireSubSystemFilterEvent, fireSubSystemFilterEvent, fireSubSystemFilterEvent, fireSubSystemFilterEvent, fireSubSystemFilterEvent, fireSubSystemFilterEvent, getActiveFilterPoolManagers, getAdapter, getCategory, getConnectingMessage, getDefaultFilterPool, getDefaultFilterPoolName, getDefaultSystemFilterPool, getDefaultSystemFilterPool, getDescription, getDisconnectingMessage, getFilterPool, getFilterPoolManager, getFilterPoolManager, getFilterPoolManager, getFilterPoolManager, getFilterPoolManager, getFilterPoolManagerList, getFilterPoolManagerName, getFilterPoolManagers, getFilterPools, getGraphicsImage, getGraphicsLiveImage, getId, getImage, getLiveImage, getName, getNewFilterWizardPoolWrapperInformation, getReferencableSystemFilterPoolManagers, getServerLauncherForm, getSubSystemConfigurationProxy, getSubSystemList, getSubSystemPropertyPageCoreFrom, getSubSystemPropertyPages, getSubSystems, getSubSystems, getSubSystems, getSubSystems, getSystemFilterPoolForBrokenReference, getSystemFilterPoolManager, getSystemFilterPoolManagers, getSystemProfile, getSystemProfile, getSystemProfile, getSystemProfile, getSystemProfileName, getSystemTypes, getUserIdValidator, getVendor, handleException, internalGetSubSystemName, internalGetSubSystems, invalidateFilterCache, invalidateSubSystemCache, isDirty, isFactoryFor, isSubSystemsDeletable, isUserPrivateProfile, needsUpdate, preTestRenameSubSystemProfile, providesCustomDropInFilters, removeSubSystem, renameFilterPoolManager, renameSubSystem, renameSubSystemProfile, renameSubSystemsByConnection, reset, restoreAllFilterPoolManagersForAllProfiles, saveFilterPools, saveFilterPools, saveSubSystem, saveSubSystems, saveSubSystems, setConnection, setCurrentSelection, setDirty, setShowFilterPools, setSubSystemConfigurationProxy, setSubSystemPort, setSubSystemUserId, setWasRestored, showChangeFilterStringsPropertyPage, showFilterPools, showGenericShowInTableOnFilter, showRefreshOnFilter, subSystemsHaveBeenRestored, supportsCommands, supportsCompileActions, supportsDropInFilters, supportsFilterCaching, supportsFilterChildren, supportsFilterStringExport, supportsMultipleFilterStrings, supportsMultiStringFilters, supportsProperties, supportsQuickFilters, supportsServerLaunchProperties, supportsServerLaunchType, supportsTargets, supportsUserDefinedActions, testForActiveReferences, toString, updateSubSystem, wasRestored
     
    Methods inherited from class java.lang.Object
    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
     
    Methods inherited from interface org.eclipse.rse.core.subsystems.IServiceSubSystemConfiguration
    getConnectorService, getService, getServiceImplType, getServiceType, setConnectorService
     
    Methods inherited from interface org.eclipse.rse.core.subsystems.ISubSystemConfiguration
    changingSystemProfileActiveStatus, cloneSubSystem, commit, copyFilterPoolManager, createServerLauncher, createSubSystem, createSubSystemAfterTheFact, createSubSystemInternal, deleteSubSystem, deleteSubSystemsByConnection, deletingSystemProfile, disconnectAllSubSystems, getCategory, getDefaultFilterPool, getDefaultSystemFilterPool, getDescription, getFilterPoolManager, getFilterPoolManagerList, getId, getName, getSubSystemConfigurationProxy, getSubSystemList, getSubSystems, getSubSystems, getSystemProfile, getSystemProfile, getSystemTypes, getVendor, isFactoryFor, isSubSystemsDeletable, preTestRenameSubSystemProfile, providesCustomDropInFilters, renameFilterPoolManager, renameSubSystem, renameSubSystemProfile, renameSubSystemsByConnection, reset, saveSubSystem, setConnection, setCurrentSelection, setShowFilterPools, setSubSystemConfigurationProxy, setSubSystemPort, setSubSystemUserId, showChangeFilterStringsPropertyPage, showFilterPools, showGenericShowInTableOnFilter, showRefreshOnFilter, supportsCommands, supportsCompileActions, supportsDropInFilters, supportsFilterCaching, supportsFilterChildren, supportsFilterStringExport, supportsMultipleFilterStrings, supportsMultiStringFilters, supportsProperties, supportsQuickFilters, supportsServerLaunchProperties, supportsServerLaunchType, supportsTargets, testForActiveReferences, updateSubSystem
     
    Methods inherited from interface org.eclipse.rse.core.filters.ISystemFilterPoolManagerProvider
    filterEventFilterCreated, filterEventFilterDeleted, filterEventFilterPoolCreated, filterEventFilterPoolDeleted, filterEventFilterPoolRenamed, filterEventFilterPoolsRePositioned, filterEventFilterRenamed, filterEventFiltersRePositioned, filterEventFilterStringCreated, filterEventFilterStringDeleted, filterEventFilterStringsRePositioned, filterEventFilterStringUpdated, filterEventFilterUpdated, getReferencableSystemFilterPoolManagers, getSystemFilterPoolForBrokenReference, getSystemFilterPoolManager, getSystemFilterPoolManagers
     
    Methods inherited from interface org.eclipse.core.runtime.IAdaptable
    getAdapter
     
    Methods inherited from interface org.eclipse.rse.core.persistance.IRSEPersistableContainer
    isDirty, setDirty, setWasRestored, wasRestored
     

    Constructor Detail

    ServiceSubSystemConfiguration

    protected ServiceSubSystemConfiguration()
    Method Detail

    supportsSubSystemConnect

    public boolean supportsSubSystemConnect()
    Overridable configuration method. Default is false
    Return true if instance of this factory's subsystems support connect and disconnect actions.

    Specified by:
    supportsSubSystemConnect in interface ISubSystemConfiguration
    Overrides:
    supportsSubSystemConnect in class SubSystemConfiguration

    isPortEditable

    public boolean isPortEditable()
    Overridable configuration method. Default is true
    Return true (default) or false to indicate if subsystems of this factory support user-editable port numbers.

    Specified by:
    isPortEditable in interface ISubSystemConfiguration
    Overrides:
    isPortEditable in class SubSystemConfiguration

    supportsFilters

    public boolean supportsFilters()
    Overridable configuration method. Default is true
    Required method for subsystem factory child classes. Return true if you support filters, false otherwise. If you support filters, then some housekeeping will be done for you automatically. Specifically, they will be saved and restored for you automatically.

    Specified by:
    supportsFilters in interface ISubSystemConfiguration
    Overrides:
    supportsFilters in class SubSystemConfiguration

    supportsNestedFilters

    public boolean supportsNestedFilters()
    Overridable configuration method. Default is false
    Do we allow filters within filters?

    Specified by:
    supportsNestedFilters in interface ISubSystemConfiguration
    Overrides:
    supportsNestedFilters in class SubSystemConfiguration

    supportsUserDefinedActions

    public boolean supportsUserDefinedActions()
    COverridable configuration method. Default is false
    Return true if you support user-defined actions for the remote system objects returned from expansion of subsystems created by this subsystem factory

    Specified by:
    supportsUserDefinedActions in interface ISubSystemConfiguration
    Overrides:
    supportsUserDefinedActions in class SubSystemConfiguration
    See Also:
    SubSystemConfiguration.supportsUserDefinedActions(ISelection), #getActionSubSystem(ISubSystem), #createActionSubSystem()

    supportsFileTypes

    public boolean supportsFileTypes()
    Overridable configuration method. Default is false
    Return true if you support user-defined/managed named file types

    Specified by:
    supportsFileTypes in interface ISubSystemConfiguration
    Overrides:
    supportsFileTypes in class SubSystemConfiguration

    isCaseSensitive

    public boolean isCaseSensitive()
    Overridable configuration method. Default is false
    Tell us if filter strings are case sensitive.

    Specified by:
    isCaseSensitive in interface ISubSystemConfiguration
    Overrides:
    isCaseSensitive in class SubSystemConfiguration

    supportsDuplicateFilterStrings

    public boolean supportsDuplicateFilterStrings()
    Overridable configuration method. Default is false
    Tell us if duplicate filter strings are supported per filter.

    Overrides:
    supportsDuplicateFilterStrings in class SubSystemConfiguration

    initializeSubSystem

    protected void initializeSubSystem(ISubSystem subsys,
                                       ISystemNewConnectionWizardPage[] yourNewConnectionWizardPages)
    Overridable lifecycle method. Not typically overridden.
    After a new subsystem instance is created, the framework calls this method to initialize it. This is your opportunity to set default attribute values.

    The reason for the connect wizard pages parm is in case your factory contributes a page to that wizard, whose values are needed to set the subsystem's initial state. For example, you might decide to add a page to the connection wizard to prompt for a JDBC Driver name. If so, when this method is called at the time a new connection is created apres the wizard, your page will have the user's value. You can thus use it here to initialize that subsystem property. Be use to use instanceof to find your particular page.

    If you override this, PLEASE CALL SUPER TO DO DEFAULT INITIALIZATION!

    Overrides:
    initializeSubSystem in class SubSystemConfiguration
    Parameters:
    subsys - - The subsystem that was created via createSubSystemInternal
    yourNewConnectionWizardPages - - The wizard pages you supplied to the New Connection wizard, via the SubSystemConfigurationAdapter.getNewConnectionWizardPages(org.eclipse.rse.core.subsystems.ISubSystemConfiguration, org.eclipse.jface.wizard.IWizard) method or null if you didn't override this method. Note there may be more pages than you originally supplied, as you are passed all pages contributed by this factory object, including subclasses. Null on a clone operation.
    See Also:
    SubSystemConfigurationAdapter.getNewConnectionWizardPages(org.eclipse.rse.core.subsystems.ISubSystemConfiguration, org.eclipse.jface.wizard.IWizard)

    getAdditionalSubSystemActions

    protected Vector getAdditionalSubSystemActions(ISubSystem selectedSubSystem,
                                                   Shell shell)
    Overridable method for getting Remote System view popup menu actions.
    Called by SystemView when constructing the popup menu for a selected subsystem.

    For contributing popup menu actions to subsystem objects, beyond the default actions already supplied by our parent class. This method is only called with subsystems created by this subsystem factory.

    Returns null by default. Override to show your own popup menu actions for your own subsystems.

    Returns:
    Vector of IAction objects, which usually are subclasses of SystemBaseAction or SystemBaseDialogAction or SystemBaseWizardAction or SystemBaseSubMenuAction.

    getTranslatedFilterTypeProperty

    public String getTranslatedFilterTypeProperty(ISystemFilter selectedFilter)
    Optionally overridable method affecting the visual display of objects within subsystems created by this factory.
    Return the translated string to show in the property sheet for the "type" property, for the selected filter. This method is only called for filters within subsystems created by this subsystem factory.

    Returns a default string, override if appropriate.

    Specified by:
    getTranslatedFilterTypeProperty in interface ISubSystemConfiguration
    Overrides:
    getTranslatedFilterTypeProperty in class SubSystemConfiguration

    getAdditionalFilterActions

    protected Vector getAdditionalFilterActions(ISystemFilter selectedFilter,
                                                Shell shell)
    Overridable method for getting Remote System view popup menu actions. Called by SystemView when constructing the popup menu for a selected filter.
    This method is only called for filters within subsystems created by this subsystem factory.
    By default, this returns null. Override if appropriate.

    Returns:
    Vector of IAction objects, which usually are subclasses of SystemBaseAction or SystemBaseDialogAction or SystemBaseWizardAction or SystemBaseSubMenuAction.
    See Also:
    org.eclipse.rse.core.subsystems.SubSystemConfiguration#getFilterActions(ISystemFilter,Shell)

    RSE
    Release 1.0

    Copyright (c) IBM Corporation and others 2000, 2006. All Rights Reserved.