Remote Systems
v6.4.1

com.ibm.etools.systems.subsystems
Interface SubSystemFactory

All Superinterfaces:
SystemFilterPoolManagerProvider
All Known Subinterfaces:
DefaultCmdSubSystemFactory, DefaultFileSubSystemFactory, DefaultJobSubSystemFactory, DefaultSubSystemFactory, LocalCmdSubSystemFactory, LocalFileSubSystemFactory, RemoteCmdSubSystemFactory, RemoteFileSubSystemFactory, RemoteJobSubSystemFactory, UniversalCmdSubSystemFactory, UniversalFileSubSystemFactory, UniversalJobSubSystemFactory
All Known Implementing Classes:
DefaultCmdSubSystemFactoryImpl, DefaultFileSubSystemFactoryImpl, DefaultJobSubSystemFactoryImpl, DefaultSubSystemFactoryImpl, LocalCmdSubSystemFactoryImpl, LocalFileSubSystemFactoryImpl, RemoteCmdSubSystemFactoryImpl, RemoteFileSubSystemFactoryImpl, RemoteJobSubSystemFactoryImpl, SubSystemFactoryImpl, UniversalCmdSubSystemFactoryImpl, UniversalFileSubSystemFactoryImpl, UniversalJobSubSystemFactoryImpl

public interface SubSystemFactory
extends SystemFilterPoolManagerProvider


Field Summary
static String copyright
           
static boolean FORCE_INTO_MEMORY
           
static boolean LAZILY
           
 
Method Summary
 void addCommonRemoteActions(SystemMenuManager menu, IStructuredSelection selection, Shell shell, String menuGroup, SubSystem subsystem)
          Returns any framework-supplied actions remote objects that should be contributed to the popup menu for the given selection list.
 void changingSystemProfileActiveStatus(SystemProfile profile, boolean newStatus)
          Called by SystemRegistry when we have toggled the active-status of a profile
 SubSystem cloneSubSystem(SubSystem oldSubsystem, SystemConnection newConnection, boolean copyProfileOperation)
          Clone a given subsystem into the given connection.
 SystemFilterPoolManager copyFilterPoolManager(SystemProfile oldProfile, SystemProfile newProfile)
          Copy the filter pool manager and return a new one.
 SystemFilter createFilterByPrompting(SystemFilterReference referenceToPromptableFilter, Shell shell)
          Prompt the user to create a new filter as a result of the user expanding a promptable filter.
 SubSystem createSubSystem(SystemConnection conn, boolean creatingConnection, ISystemNewConnectionWizardPage[] yourNewConnectionWizardPages)
          Creates a new subsystem instance that is associated with the given connection object.
 void customizeChangeFilterPropertyPage(SystemChangeFilterPropertyPage page, SystemFilter selectedFilter, Shell shell)
          In addition to a change filter action, we now also support the same functionality via a Properties page for filters.
 void customizeFilterStringPropertyPage(SystemFilterStringPropertyPage page, SystemFilterString selectedFilterString, Shell shell)
          In addition to a change filter action, we now also support the same functionality via a Properties page for filter strings, in the Team View.
 boolean deleteSubSystem(SubSystem subsystem)
          Deletes a given subsystem instance from the list maintained by this factory.
 void deleteSubSystemsByConnection(SystemConnection conn)
          Called by SystemRegistry's deleteConnection method to ensure we delete all our subsystems for a given connection.
 void deletingSystemProfile(SystemProfile profile)
          Called by SystemRegistry when we are about to delete a profile.
 void disconnectAllSubSystems()
          Disconnect all subsystems currently connected.
 SystemUDActionSubsystem getActionSubSystem(SubSystem subsystem)
          Get the action subsystem object for this subsystemfactory, and set its current subsystem to the given subsystem instance.
 String getCategory()
          Return the category this subsystem factory subscribes to.
 SystemCompileManager getCompileManager()
          Get the singleton compile manager responsible for enabling the compile support for remote source objects.
 SystemFilterPool getDefaultSystemFilterPool(SubSystem subsys)
          Given a subsystem, return the first (hopefully only) default pool for this subsystem's profile.
 IAction[] getFilterActions(SystemFilter selectedFilter, Shell shell)
          Returns a list of actions for the popup menu when user right clicks on a filter object.
 IAction[] getFilterPoolActions(SystemFilterPool selectedPool, Shell shell)
          Returns a list of actions for the popup menu when user right clicks on a filter pool object within a subsystem of this factory.
 SystemFilterPoolManager getFilterPoolManager(SystemProfile profile)
          Get the filter pool manager for the given profile
 EList getFilterPoolManagerList()
          Private.
 IAction[] getFilterPoolReferenceActions(SystemFilterPoolReference selectedPoolReference, Shell shell)
          Returns a list of actions for the popup menu when user right clicks on a filter pool reference object within a subsystem of this factory.
 IAction[] getFilterReferenceActions(SystemFilterReference selectedFilterRef, Shell shell)
          Returns a list of actions for the popup menu when user right clicks on a filter reference object within a subsystem of this factory.
 Image getGraphicsImage()
          Return actual graphics Image of this factory.
 Image getGraphicsLiveImage()
          Return actual graphics LiveImage of this factory.
 String getId()
          Return unique id of this factory.
 ImageDescriptor getImage()
          Return image descriptor for subsystems created by this factory.
 ImageDescriptor getLiveImage()
          Return image to use when this susystem is connection.
 String getName()
          Return name of this factory.
 ISystemNewConnectionWizardPage[] getNewConnectionWizardPages(IWizard wizard)
          Optionally return one or more wizard pages to append to the New Connection Wizard if the user selects a system type that this subsystem factory supports.
 ISystemValidator getPasswordValidator()
          Return the validator for the password which is prompted for at runtime.
 ISystemValidator getPortValidator()
          Return the validator for the port.
 IServerLauncherForm getServerLauncherForm(Shell shell, ISystemMessageLine msgLine)
          Return the form used in the property page, etc for this server launcher.
 IAction[] getSubSystemActions(SubSystem selectedSubSystem, Shell shell)
          Returns a list of actions for the popup menu when user right clicks on a subsystem object from this factory.
 ISubSystemFactoryProxy getSubSystemFactoryProxy()
          Private method
 EList getSubSystemList()
          Private.
 ISystemSubSystemPropertyPageCoreForm getSubSystemPropertyPageCoreFrom(ISystemMessageLine msgLine, Object caller)
           
 SubSystem[] getSubSystems(boolean force)
          Returns a list of all subsystem objects for all connections.
 SubSystem[] getSubSystems(SystemConnection conn, boolean force)
          Returns a list of subsystem objects existing for the given connection.
 SystemProfile getSystemProfile(SystemFilterPool pool)
          Get owning profile object given a filter pool object
 String[] getSystemTypes()
          Return the system types this subsystem factory supports.
 String getTranslatedFilterTypeProperty(SystemFilter selectedFilter)
          Return the translated string to show in the property sheet for the type property when a filter is selected.
 ISystemValidator getUserIdValidator()
          Return the validator for the userId.
 String getVendor()
          Return vendor of this factory.
 boolean isCaseSensitive()
          Tell us if filter strings are case sensitive.
 boolean isPortEditable()
          Return true (default) or false to indicate if subsystems of this factory support user-editable port numbers.
 boolean isSubSystemsDeletable()
          Returns true if this factory allows users to delete instances of subsystem objects.
 void preTestRenameSubSystemProfile(String oldProfileName)
          Called by SystemRegistry's renameSystemProfile method to pre-test if we are going to run into errors on a profile rename, due to file or folder in use.
 boolean providesCustomDropInFilters()
          Return true if filters of this subsystem factory provide a custom implementation of drop support.
 void renameSubSystem(SubSystem subsystem, String newName)
          Renames a subsystem.
 void renameSubSystemProfile(String oldProfileName, String newProfileName)
          Called by SystemRegistry's renameSystemProfile method to ensure we update our filter pool manager names (and their folders) This is called AFTER changing the profile's name!!
 void renameSubSystemProfile(SubSystem ss, String oldProfileName, String newProfileName)
          Called by SystemRegistry's renameSystemProfile method to ensure we update our subsystem names within each subsystem.
 void renameSubSystemsByConnection(SystemConnection conn, String newConnectionName)
          Called by SystemRegistry's renameConnection method to ensure we update our connection names within each subsystem.
 void reset()
          Reset for a full refresh from disk, such as after a team synch.
 boolean save()
          Saves absolutely everything to disk.
 void saveSubSystem(SubSystem subsys)
          Save one subsystem to disk.
 void setConnection(SystemConnection connection)
          Called by adapters prior to asking for actions, in case the connection of the currently selected object is required by the action.
 void setCurrentSelection(Object[] selection)
          Called by adapters prior to asking for actions.
 void setShowFilterPools(boolean show)
          If we support filters, should we show filter pools in the remote system explorer?
 void setSubSystemFactoryProxy(ISubSystemFactoryProxy proxy)
          Private method called by SystemPlugin
 void setSubSystemPort(Shell shell, SubSystem subsystem, int port)
          Update the port for the given subsystem instance.
 void setSubSystemUserId(Shell shell, SubSystem subsystem, String userId)
          Update the user ID for the given subsystem instance.
 boolean showChangeFilterStringsPropertyPage(SystemFilter filter)
          Given a filter, decide whether to show the Filter Strings property page for this filter.
 boolean showFilterPools()
          If we support filters, should we show filter pools in the remote system explorer?
 boolean showGenericShowInTableOnFilter()
          Return true if we should show the show in table action in the popup for the given element.
 boolean showRefreshOnFilter()
          Return true if we should show the refresh action in the popup for the given element.
 boolean supportsCommands()
          Return true if subsystem instances from this factory support remote command execution Returns false in default implementation, and is usually only true for command subsystems.
 boolean supportsCompileActions()
          Return true if you support compile actions for the remote system objects returned from expansion of subsystems created by this subsystem factory.
 boolean supportsDropInFilters()
          Return true if filters of this subsystem factory support dropping into.
 boolean supportsFileTypes()
          Return true if you support user-defined/managed named file types Returns false in default implementation.
 boolean supportsFilterCaching()
          Required method for subsystem factory child classes.
 boolean supportsFilters()
          Required method for subsystem factory child classes.
 boolean supportsFilterStringExport()
          Return true if the subsystem supports the exporting of filter strings from it's filters RETURNS true BY DEFAULT
 boolean supportsMultipleFilterStrings()
          Required method for subsystem factory child classes.
 boolean supportsMultiStringFilters()
          Return true if the subsystem supports more than one filter string RETURNS true BY DEFAULT
 boolean supportsNestedFilters()
          Required method for subsystem factory child classes if returning true from supportsFilters.
 boolean supportsProperties()
          Return true if subsystem instances from this factory support getting and setting properties Returns false in default implementation, and not actually used yet.
 boolean supportsQuickFilters()
          Return true if you support quick filters.
 boolean supportsServerLaunchProperties()
          Tell us if this subsystem factory supports server launch properties, which allow the user to configure how the server-side code for these subsystems are started.
 boolean supportsServerLaunchType(ServerLaunchType serverLaunchType)
          If supportsServerLaunchProperties() returns true, this method may be called by the server launcher to decide if a given remote server launch type is supported or not.
 boolean supportsSubSystemConnect()
          Return true if subsystem instances from this factory support connect and disconnect actions Returns true in default implementation.
 boolean supportsTargets()
          Tell us if this subsystem factory supports targets, which are destinations for pushes and builds.
 boolean supportsUserDefinedActions()
          Return true if you support user-defined actions for the remote system objects returned from expansion of subsystems created by this subsystem factory
 boolean supportsUserDefinedActions(ISelection selection)
          Return true if you support user-defined actions for the remote system objects explicitly given.
 boolean supportsUserId()
          Return true (default) or false to indicate if subsystems of this factory require a userId to do connection or not.
 SubSystem[] testForActiveReferences(SystemProfile profile)
          Test if any filter pools in the given profile are referenced by other profiles, which are active.
 void updateSubSystem(Shell shell, SubSystem subsystem, boolean updateUserId, String userId, boolean updatePort, Integer port)
          Updates user-editable attributes of an existing subsystem instance.
 
Methods inherited from interface com.ibm.etools.systems.filters.SystemFilterPoolManagerProvider
filterEventFilterCreated, filterEventFilterDeleted, filterEventFilterPoolCreated, filterEventFilterPoolDeleted, filterEventFilterPoolRenamed, filterEventFilterPoolsRePositioned, filterEventFilterRenamed, filterEventFiltersRePositioned, filterEventFilterStringCreated, filterEventFilterStringDeleted, filterEventFilterStringsRePositioned, filterEventFilterStringUpdated, filterEventFilterUpdated, getReferencableSystemFilterPoolManagers, getSystemFilterImage, getSystemFilterPoolForBrokenReference, getSystemFilterPoolImage, getSystemFilterPoolManager, getSystemFilterPoolManagerImage, getSystemFilterPoolManagers, getSystemFilterStringImage, getSystemFilterStringImage
 

Field Detail

copyright

public static final String copyright
See Also:
Constant Field Values

FORCE_INTO_MEMORY

public static final boolean FORCE_INTO_MEMORY
See Also:
Constant Field Values

LAZILY

public static final boolean LAZILY
See Also:
Constant Field Values
Method Detail

reset

public void reset()
Reset for a full refresh from disk, such as after a team synch.


supportsUserId

public boolean supportsUserId()
Return true (default) or false to indicate if subsystems of this factory require a userId to do connection or not. If not, no GUI will be supplied related to user Ids in the remote systems explorer view.

Returns true in default implementation.


supportsMultiStringFilters

public boolean supportsMultiStringFilters()
Return true if the subsystem supports more than one filter string

RETURNS true BY DEFAULT


supportsFilterStringExport

public boolean supportsFilterStringExport()
Return true if the subsystem supports the exporting of filter strings from it's filters

RETURNS true BY DEFAULT


supportsSubSystemConnect

public boolean supportsSubSystemConnect()
Return true if subsystem instances from this factory support connect and disconnect actions

Returns true in default implementation.


isPortEditable

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

Returns true in default implementation.


supportsCommands

public boolean supportsCommands()
Return true if subsystem instances from this factory support remote command execution

Returns false in default implementation, and is usually only true for command subsystems.


supportsProperties

public boolean supportsProperties()
Return true if subsystem instances from this factory support getting and setting properties

Returns false in default implementation, and not actually used yet.


supportsFilters

public boolean supportsFilters()
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.

Returns true in default implementation.


supportsFilterCaching

public boolean supportsFilterCaching()
Required method for subsystem factory child classes. Return true if you filter caching. If you support filter caching, then the views will always check the in-memory cache for filter results before attempting a query.

Returns true in default implementation.


supportsMultipleFilterStrings

public boolean supportsMultipleFilterStrings()
Required method for subsystem factory child classes. Return true if you support filters, and you support multiple filter strings per filter. Return false to restrict the user to one string per filter.

Returns true in default implementation.


supportsNestedFilters

public boolean supportsNestedFilters()
Required method for subsystem factory child classes if returning true from supportsFilters. Return true if you support filters within filters, false otherwise.

Returns false in default implementation.


supportsQuickFilters

public boolean supportsQuickFilters()
Return true if you support quick filters. These allow the user to subset a remote system object at the time they expand it in the remote system explorer tree view.

Not supported yet


supportsDropInFilters

public boolean supportsDropInFilters()
Return true if filters of this subsystem factory support dropping into.


providesCustomDropInFilters

public boolean providesCustomDropInFilters()
Return true if filters of this subsystem factory provide a custom implementation of drop support. By default, the filter reference adapter treats a drop on a filter as an update to the list of filter strings for a filter. For things like files, it is more desirable to treat the drop as a physical resource copy, so in that case, custom drop makes sense. By default this returns false.


supportsUserDefinedActions

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

See Also:
getActionSubSystem(SubSystem),

Returns false in default implementation.


supportsUserDefinedActions

public boolean supportsUserDefinedActions(ISelection selection)
Return true if you support user-defined actions for the remote system objects explicitly given. This calls supportsUserDefinedActions() by default. It is called when decided whether or not to show the User Actions menu for the current selection, if supportsUserDefinedActions() returns true.

See Also:
getActionSubSystem(SubSystem), #createActionSubSystem(), addCommonRemoteActions(SystemMenuManager, IStructuredSelection, Shell, String, SubSystem)

supportsCompileActions

public boolean supportsCompileActions()
Return true if you support compile actions for the remote system objects returned from expansion of subsystems created by this subsystem factory.

See Also:

Returns false in default implementation.


supportsFileTypes

public boolean supportsFileTypes()
Return true if you support user-defined/managed named file types

Returns false in default implementation.


supportsTargets

public boolean supportsTargets()
Tell us if this subsystem factory supports targets, which are destinations for pushes and builds. Normally only true for file system factories.


supportsServerLaunchProperties

public boolean supportsServerLaunchProperties()
Tell us if this subsystem factory supports server launch properties, which allow the user to configure how the server-side code for these subsystems are started. There is a Server Launch Setting property page, with a pluggable composite, where users can configure these properties.
By default we return false here. This is overridden in UniversalFileSubSystemFactory though.


supportsServerLaunchType

public boolean supportsServerLaunchType(ServerLaunchType serverLaunchType)
If supportsServerLaunchProperties() returns true, this method may be called by the server launcher to decide if a given remote server launch type is supported or not.
We return true by default.

See Also:
ServerLaunchType, getServerLauncherForm(Shell, ISystemMessageLine)

isCaseSensitive

public boolean isCaseSensitive()
Tell us if filter strings are case sensitive.

Returns false in default implementation.


addCommonRemoteActions

public void addCommonRemoteActions(SystemMenuManager menu,
                                   IStructuredSelection selection,
                                   Shell shell,
                                   String menuGroup,
                                   SubSystem subsystem)
Returns any framework-supplied actions remote objects that should be contributed to the popup menu for the given selection list. This does nothing if this adapter does not implement ISystemViewRemoteElementAdapter, else it potentially adds menu items for "User Actions" and Compile", for example. It queries the subsystem factory of the selected objects to determine if these actions are appropriate to add.

Parameters:
menu - The menu to contribute actions to
selection - The window's current selection.
shell - of viewer calling this. Most dialogs require a shell.
menuGroup - recommended menu group to add actions to. If added to another group, you must be sure to create that group first.
subsystem - the subsystem of the selection

getActionSubSystem

public SystemUDActionSubsystem getActionSubSystem(SubSystem subsystem)
Get the action subsystem object for this subsystemfactory, and set its current subsystem to the given subsystem instance.

Called in the Work With User Actions and the User Actions cascading menu of the popup menu for remote objects.


getCompileManager

public SystemCompileManager getCompileManager()
Get the singleton compile manager responsible for enabling the compile support for remote source objects.

See Also:
supportsCompileActions()

getNewConnectionWizardPages

public ISystemNewConnectionWizardPage[] getNewConnectionWizardPages(IWizard wizard)
Optionally return one or more wizard pages to append to the New Connection Wizard if the user selects a system type that this subsystem factory supports.

Some details:

Tip: consider extending AbstractSystemNewConnectionWizardPage for your wizard page class.


showFilterPools

public boolean showFilterPools()
If we support filters, should we show filter pools in the remote system explorer? Typically retrieved from user preferences.


setShowFilterPools

public void setShowFilterPools(boolean show)
If we support filters, should we show filter pools in the remote system explorer? This is to set it after the user changes it in the user preferences. It may require refreshing the current view.


setSubSystemFactoryProxy

public void setSubSystemFactoryProxy(ISubSystemFactoryProxy proxy)
Private method called by SystemPlugin


getSubSystemFactoryProxy

public ISubSystemFactoryProxy getSubSystemFactoryProxy()
Private method


getVendor

public String getVendor()
Return vendor of this factory. This comes from the xml "vendor" attribute of the extension point.


getName

public String getName()
Return name of this factory. Matches value in name attribute in extension point xml


getId

public String getId()
Return unique id of this factory. Matches value in id attribute in extension point xml


getImage

public ImageDescriptor getImage()
Return image descriptor for subsystems created by this factory. Comes from icon attribute in extension point xml


getGraphicsImage

public Image getGraphicsImage()
Return actual graphics Image of this factory. This is the same as calling getImage().createImage() but the resulting image is cached


getLiveImage

public ImageDescriptor getLiveImage()
Return image to use when this susystem is connection. Comes from icon attribute in extension point xml


getGraphicsLiveImage

public Image getGraphicsLiveImage()
Return actual graphics LiveImage of this factory. This is the same as calling getLiveImage().createImage() but the resulting image is cached


getCategory

public String getCategory()
Return the category this subsystem factory subscribes to.

See Also:
ISubSystemFactoryCategories

getSystemTypes

public String[] getSystemTypes()
Return the system types this subsystem factory supports.


deletingSystemProfile

public void deletingSystemProfile(SystemProfile profile)
Called by SystemRegistry when we are about to delete a profile.

Our only mission is to delete the filter pool associated with it, because the registry has already called deleteSubSystemsByConnection for every subsystem of every connection owned by this profile.


changingSystemProfileActiveStatus

public void changingSystemProfileActiveStatus(SystemProfile profile,
                                              boolean newStatus)
Called by SystemRegistry when we have toggled the active-status of a profile


getSystemProfile

public SystemProfile getSystemProfile(SystemFilterPool pool)
Get owning profile object given a filter pool object


getUserIdValidator

public ISystemValidator getUserIdValidator()
Return the validator for the userId. A default is supplied. Note this is only used for the subsystem's properties, so will not be used by the connection's default. Thus, is only of limited value.

This must be castable to ICellEditorValidator for the property sheet support.


getPasswordValidator

public ISystemValidator getPasswordValidator()
Return the validator for the password which is prompted for at runtime. No default is supplied.


getPortValidator

public ISystemValidator getPortValidator()
Return the validator for the port. A default is supplied. This must be castable to ICellEditorValidator for the property sheet support.


renameSubSystemProfile

public void renameSubSystemProfile(SubSystem ss,
                                   String oldProfileName,
                                   String newProfileName)
Called by SystemRegistry's renameSystemProfile method to ensure we update our subsystem names within each subsystem.

This is called AFTER changing the profile's name!!


preTestRenameSubSystemProfile

public void preTestRenameSubSystemProfile(String oldProfileName)
                                   throws Exception
Called by SystemRegistry's renameSystemProfile method to pre-test if we are going to run into errors on a profile rename, due to file or folder in use.

Throws:
Exception

renameSubSystemProfile

public void renameSubSystemProfile(String oldProfileName,
                                   String newProfileName)
Called by SystemRegistry's renameSystemProfile method to ensure we update our filter pool manager names (and their folders)

This is called AFTER changing the profile's name!!


renameSubSystemsByConnection

public void renameSubSystemsByConnection(SystemConnection conn,
                                         String newConnectionName)
Called by SystemRegistry's renameConnection method to ensure we update our connection names within each subsystem.

Must be called prior to changing the connection's name!!


deleteSubSystemsByConnection

public void deleteSubSystemsByConnection(SystemConnection conn)
Called by SystemRegistry's deleteConnection method to ensure we delete all our subsystems for a given connection.


createSubSystem

public SubSystem createSubSystem(SystemConnection conn,
                                 boolean creatingConnection,
                                 ISystemNewConnectionWizardPage[] yourNewConnectionWizardPages)
Creates a new subsystem instance that is associated with the given connection object. SystemRegistryImpl calls this when a new connection is created, and appliesToSystemType returns true.

Parameters:
conn - The connection to create a subsystem for
creatingConnection - true if we are creating a connection, false if just creating another subsystem for an existing connection.
yourNewConnectionWizardPages - The wizard pages you supplied to the New Connection wizard, via the getNewConnectionWizardPages(IWizard) method or null if you didn't override this method.

updateSubSystem

public void updateSubSystem(Shell shell,
                            SubSystem subsystem,
                            boolean updateUserId,
                            String userId,
                            boolean updatePort,
                            Integer port)
Updates user-editable attributes of an existing subsystem instance. These attributes typically affect the live connection, so the subsystem will be forced to disconnect.

The subsystem will be saved to disk.

Parameters:
shell - parent shell needed in case an error message is displayed
subsystem - target of the update action
updateUserId - true if we are updating the userId, else false to ignore userId
userId - new local user Id. Ignored if updateUserId is false
updatePort - true if we are updating the port, else false to ignore port
port - new local port value. Ignored if updatePort is false

setSubSystemPort

public void setSubSystemPort(Shell shell,
                             SubSystem subsystem,
                             int port)
Update the port for the given subsystem instance. Shortcut to updateSubSystem(Shell,SubSystem,boolean,String,boolean,Integer)


setSubSystemUserId

public void setSubSystemUserId(Shell shell,
                               SubSystem subsystem,
                               String userId)
Update the user ID for the given subsystem instance. Shortcut to updateSubSystem(Shell,SubSystem,boolean,String,boolean,Integer)


isSubSystemsDeletable

public boolean isSubSystemsDeletable()
Returns true if this factory allows users to delete instances of subsystem objects. Would only be true if users are allowed to create multiple instances of subsystem objects per connection.


deleteSubSystem

public boolean deleteSubSystem(SubSystem subsystem)
Deletes a given subsystem instance from the list maintained by this factory. SystemRegistryImpl calls this when the user selects to delete a subsystem object, or delete the parent connection this subsystem is associated with. In former case, this is only called if the factory supports user-deletable subsystems.


cloneSubSystem

public SubSystem cloneSubSystem(SubSystem oldSubsystem,
                                SystemConnection newConnection,
                                boolean copyProfileOperation)
                         throws Exception
Clone a given subsystem into the given connection. Called when user does a copy-connection action.

Parameters:
oldSubsystem - The subsystem to be cloned
newConnection - The connection into which to create and clone the old subsystem
copyProfileOperation - Pass true if this is an profile-copy operation versus a connection-copy operation
Returns:
New subsystem within the new connection
Throws:
Exception

getSubSystems

public SubSystem[] getSubSystems(SystemConnection conn,
                                 boolean force)
Returns a list of subsystem objects existing for the given connection.

Parameters:
conn - System connection to retrieve subsystems for
force - true if we should force all the subsystems to be restored from disk if not already

getSubSystems

public SubSystem[] getSubSystems(boolean force)
Returns a list of all subsystem objects for all connections.


renameSubSystem

public void renameSubSystem(SubSystem subsystem,
                            String newName)
Renames a subsystem. This is better than ss.setName(String newName) as it saves the subsystem to disk.


getSubSystemActions

public IAction[] getSubSystemActions(SubSystem selectedSubSystem,
                                     Shell shell)
Returns a list of actions for the popup menu when user right clicks on a subsystem object from this factory.


disconnectAllSubSystems

public void disconnectAllSubSystems()
                             throws Exception
Disconnect all subsystems currently connected. Called by shutdown() of SystemPlugin.

Throws:
Exception

getFilterPoolManager

public SystemFilterPoolManager getFilterPoolManager(SystemProfile profile)
Get the filter pool manager for the given profile


copyFilterPoolManager

public SystemFilterPoolManager copyFilterPoolManager(SystemProfile oldProfile,
                                                     SystemProfile newProfile)
                                              throws Exception
Copy the filter pool manager and return a new one. Called during profile-copy operations. Will also copy all of the filter pools and their respective data.

Throws:
Exception

getFilterPoolActions

public IAction[] getFilterPoolActions(SystemFilterPool selectedPool,
                                      Shell shell)
Returns a list of actions for the popup menu when user right clicks on a filter pool object within a subsystem of this factory. Only supported by subsystems that support filters.


getDefaultSystemFilterPool

public SystemFilterPool getDefaultSystemFilterPool(SubSystem subsys)
Given a subsystem, return the first (hopefully only) default pool for this subsystem's profile.


getFilterPoolReferenceActions

public IAction[] getFilterPoolReferenceActions(SystemFilterPoolReference selectedPoolReference,
                                               Shell shell)
Returns a list of actions for the popup menu when user right clicks on a filter pool reference object within a subsystem of this factory. Note, these are added to the list returned by getFilterPoolActions().

Only supported by subsystems that support filters.


testForActiveReferences

public SubSystem[] testForActiveReferences(SystemProfile profile)
Test if any filter pools in the given profile are referenced by other profiles, which are active.

Called when user tries to make a profile inactive. We prevent this if there exists active references.

Parameters:
profile - The profile being tested
Returns:
An array of the active subsystems which reference filter pools in this profile, or null if none are found.

getTranslatedFilterTypeProperty

public String getTranslatedFilterTypeProperty(SystemFilter selectedFilter)
Return the translated string to show in the property sheet for the type property when a filter is selected.


getFilterActions

public IAction[] getFilterActions(SystemFilter selectedFilter,
                                  Shell shell)
Returns a list of actions for the popup menu when user right clicks on a filter object.

Only supported and used by subsystems that support filters.

Most actions are handled in this base, except if you have your own action for creating a new nested filter. In this case, override getNewFilterAction()


customizeChangeFilterPropertyPage

public void customizeChangeFilterPropertyPage(SystemChangeFilterPropertyPage page,
                                              SystemFilter selectedFilter,
                                              Shell shell)
In addition to a change filter action, we now also support the same functionality via a Properties page for filters. When this page is activated, this method is called to enable customization of the page, given the selected filter.


customizeFilterStringPropertyPage

public void customizeFilterStringPropertyPage(SystemFilterStringPropertyPage page,
                                              SystemFilterString selectedFilterString,
                                              Shell shell)
In addition to a change filter action, we now also support the same functionality via a Properties page for filter strings, in the Team View. When this page is activated, this method is called to enable customization of the page, given the selected filter string.


showRefreshOnFilter

public boolean showRefreshOnFilter()
Return true if we should show the refresh action in the popup for the given element.


showGenericShowInTableOnFilter

public boolean showGenericShowInTableOnFilter()
Return true if we should show the show in table action in the popup for the given element.


createFilterByPrompting

public SystemFilter createFilterByPrompting(SystemFilterReference referenceToPromptableFilter,
                                            Shell shell)
                                     throws Exception
Prompt the user to create a new filter as a result of the user expanding a promptable filter.

Returns:
the filter created by the user or null if they cancelled the prompting
Throws:
Exception

showChangeFilterStringsPropertyPage

public boolean showChangeFilterStringsPropertyPage(SystemFilter filter)
Given a filter, decide whether to show the Filter Strings property page for this filter. Default is true.


getFilterReferenceActions

public IAction[] getFilterReferenceActions(SystemFilterReference selectedFilterRef,
                                           Shell shell)
Returns a list of actions for the popup menu when user right clicks on a filter reference object within a subsystem of this factory. Only supported and used by subsystems that support filters.

Most actions are handled in this base, except if you have your own action for creating a new filter. In this case, override getNewFilterAction() To add additional actions, override getFilterReferenceActions(SystemFilterReference, Shell).

Parameters:
selectedFilterRef - the currently selected filter reference
shell - parent shell of viewer where the popup menu is being constructed

getServerLauncherForm

public IServerLauncherForm getServerLauncherForm(Shell shell,
                                                 ISystemMessageLine msgLine)
Return the form used in the property page, etc for this server launcher. Only called if supportsServerLaunchProperties() returns true.


getSubSystemPropertyPageCoreFrom

public ISystemSubSystemPropertyPageCoreForm getSubSystemPropertyPageCoreFrom(ISystemMessageLine msgLine,
                                                                             Object caller)

setConnection

public void setConnection(SystemConnection connection)
Called by adapters prior to asking for actions, in case the connection of the currently selected object is required by the action.


setCurrentSelection

public void setCurrentSelection(Object[] selection)
Called by adapters prior to asking for actions. For cases when current selection is needed.


save

public boolean save()
Saves absolutely everything to disk. This is called as a safety measure when the workbench shuts down.

Totally handled for you!

Calls saveSubSystems() and saveFilterPools()

Exceptions are swallowed since we cannot deal with them on shutdown anyway!


saveSubSystem

public void saveSubSystem(SubSystem subsys)
                   throws Exception
Save one subsystem to disk. Called by each subsystem when their data changes.

Throws:
Exception

getSubSystemList

public EList getSubSystemList()
Private. Do not call or use.

Returns:
The list of SubSystemList references

getFilterPoolManagerList

public EList getFilterPoolManagerList()
Private. Do not call or use.

Returns:
The list of FilterPoolManagerList references

Remote Systems
v6.4.1

Copyright © 2005 IBM Corp. All Rights Reserved.

Note: This documentation is for part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.