RSE
Release 1.0

org.eclipse.rse.subsystems.files.core.subsystems
Class RemoteFileSubSystemConfiguration

java.lang.Object
  extended byorg.eclipse.rse.core.subsystems.SubSystemConfiguration
      extended byorg.eclipse.rse.subsystems.files.core.subsystems.RemoteFileSubSystemConfiguration
All Implemented Interfaces:
IAdaptable, IRemoteFileSubSystemConfiguration, org.eclipse.rse.core.persistance.IRSEPersistableContainer, ISubSystemConfiguration, ISystemFilterPoolManagerProvider
Direct Known Subclasses:
FileServiceSubSystemConfiguration

public abstract class RemoteFileSubSystemConfiguration
extends SubSystemConfiguration
implements IRemoteFileSubSystemConfiguration

Specialization for file subsystem configurations. It is best used by subclassing FileServiceSubSystemConfiguration.

See Also:
RemoteFileSubSystem

Field Summary
protected  String translatedType
           
protected  boolean unixStyle
           
 
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
RemoteFileSubSystemConfiguration()
          Constructor
 
Method Summary
protected  ISystemFilterPool createDefaultFilterPool(ISystemFilterPoolManager mgr)
          Override from parent.
 ISubSystem createSubSystemInternal(IHost conn)
          Instantiate and return an instance of OUR subystem.
 String getEditorProfileID()
          Return the default remote systems editor profile ID for files on this subsystem
 ISystemValidator getFileFilterStringValidator()
          Return validator used in filter string dialog for the file part of the filter string By default, returns ValidatorFileFilterString.
 ValidatorFileName getFileNameValidator()
          Return validator used when creating or renaming files
 ValidatorFolderName getFolderNameValidator()
          Return validator used when creating or renaming folders
 String getLineSeparator()
          Return as a string the line separator.
 String getPathSeparator()
          Return in string format the character used to separate paths.
 char getPathSeparatorChar()
          Return in char format the character used to separate paths.
 ISystemValidator getPathValidator()
          Return validator used in filter string dialog for the path part of the filter string.
 String getSeparator()
          Return in string format the character used to separate folders.
 char getSeparatorChar()
          Return in character format the character used to separate folders.
 String getTranslatedFilterTypeProperty(ISystemFilter selectedFilter)
          Return the translated string to show in the property sheet for the type property.
protected  void initializeSubSystem(ISubSystem ss, ISystemNewConnectionWizardPage[] yourNewConnectionWizardPages)
          Populate a new subsystem with our unique attributes, and/or create default filter references.
 boolean isCaseSensitive()
          Tell us if this file system is case sensitive.
 boolean isFactoryFor(Class subSystemType)
          Determines whether this factory is responsible for the creation of subsytems of the specified type Subsystem factories should override this to indicate which subsystems they support.
 boolean isPortEditable()
          We return true.
 boolean isUnixStyle()
          Tell us if this is a unix-style file system or a windows-style file system.
 boolean providesCustomDropInFilters()
          Indicates that a drop on a filter will be handled as a copy by the file subsystem rather than having a filter update.
protected  void setIsUnixStyle(boolean isUnixStyle)
          Tell us if this is a unix-style file system or a windows-style file system.
 boolean supportsCommands()
          We return false.
 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 supportsEnvironmentVariablesPropertyPage()
          Return true if subsystems of this factory support the environment variables property.
 boolean supportsFileTypes()
          Return true if you support user-defined/managed named file types We return true
 boolean supportsFilters()
          We return true.
 boolean supportsNestedFilters()
          We return supportsFilters()
 boolean supportsProperties()
          We return false.
 boolean supportsSearch()
          By default this returns true.
abstract  boolean supportsServerLaunchProperties(IHost host)
          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 supportsSubSystemConnect()
          We return true.
 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.
 
Methods inherited from class org.eclipse.rse.core.subsystems.SubSystemConfiguration
addFilterPoolManager, addSubSystem, changingSystemProfileActiveStatus, cloneEvent, cloneSubSystem, commit, configureNewFilterAction, copyFilterPoolManager, copySubSystemData, createEvent, createEvent, createEvent, createServerLauncher, createSubSystem, createSubSystemAfterTheFact, 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, isSubSystemsDeletable, isUserPrivateProfile, needsUpdate, preTestRenameSubSystemProfile, 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, supportsDuplicateFilterStrings, supportsFilterCaching, supportsFilterChildren, supportsFilterStringExport, supportsMultipleFilterStrings, supportsMultiStringFilters, supportsQuickFilters, supportsServerLaunchType, 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.subsystems.files.core.subsystems.IRemoteFileSubSystemConfiguration
supportsArchiveManagement
 
Methods inherited from interface org.eclipse.rse.core.subsystems.ISubSystemConfiguration
changingSystemProfileActiveStatus, cloneSubSystem, commit, copyFilterPoolManager, createServerLauncher, createSubSystem, createSubSystemAfterTheFact, deleteSubSystem, deleteSubSystemsByConnection, deletingSystemProfile, disconnectAllSubSystems, getCategory, getConnectorService, getDefaultFilterPool, getDefaultSystemFilterPool, getDescription, getFilterPoolManager, getFilterPoolManagerList, getId, getName, getSubSystemConfigurationProxy, getSubSystemList, getSubSystems, getSubSystems, getSystemProfile, getSystemProfile, getSystemTypes, getVendor, isSubSystemsDeletable, preTestRenameSubSystemProfile, renameFilterPoolManager, renameSubSystem, renameSubSystemProfile, renameSubSystemsByConnection, reset, saveSubSystem, setConnection, setCurrentSelection, setShowFilterPools, setSubSystemConfigurationProxy, setSubSystemPort, setSubSystemUserId, showChangeFilterStringsPropertyPage, showFilterPools, showGenericShowInTableOnFilter, showRefreshOnFilter, supportsFilterCaching, supportsFilterChildren, supportsFilterStringExport, supportsMultipleFilterStrings, supportsMultiStringFilters, supportsQuickFilters, supportsServerLaunchType, 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
 

Field Detail

unixStyle

protected boolean unixStyle

translatedType

protected String translatedType
Constructor Detail

RemoteFileSubSystemConfiguration

public RemoteFileSubSystemConfiguration()
Constructor

Method Detail

setIsUnixStyle

protected void setIsUnixStyle(boolean isUnixStyle)
Tell us if this is a unix-style file system or a windows-style file system. The default is windows. Child classes must call this, so we know how to respond to separator and path-separator requests.


isUnixStyle

public boolean isUnixStyle()
Tell us if this is a unix-style file system or a windows-style file system. The default is windows. Child classes must call this, so we know how to respond to separator and path-separator requests.

Specified by:
isUnixStyle in interface IRemoteFileSubSystemConfiguration

isCaseSensitive

public boolean isCaseSensitive()
Tell us if this file system is case sensitive. The default is isUnixStyle(), and so should rarely need to be overridden.

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

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.

We return true.

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

supportsServerLaunchProperties

public abstract boolean supportsServerLaunchProperties(IHost host)
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.

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

supportsEnvironmentVariablesPropertyPage

public boolean supportsEnvironmentVariablesPropertyPage()
Return true if subsystems of this factory support the environment variables property. Return true to show it, return false to hide it. We return true.

Specified by:
supportsEnvironmentVariablesPropertyPage in interface IRemoteFileSubSystemConfiguration

supportsSearch

public boolean supportsSearch()
By default this returns true. Override if the file subsystem does not support search.

Specified by:
supportsSearch in interface IRemoteFileSubSystemConfiguration
Returns:
true if search is supported

getPathValidator

public ISystemValidator getPathValidator()
Return validator used in filter string dialog for the path part of the filter string. By default, returns ValidatorPathName which does very limited checking. Override as appropriate.

Specified by:
getPathValidator in interface IRemoteFileSubSystemConfiguration

getFileFilterStringValidator

public ISystemValidator getFileFilterStringValidator()
Return validator used in filter string dialog for the file part of the filter string By default, returns ValidatorFileFilterString. Override as appropriate.

Specified by:
getFileFilterStringValidator in interface IRemoteFileSubSystemConfiguration

getFileNameValidator

public ValidatorFileName getFileNameValidator()
Return validator used when creating or renaming files

Specified by:
getFileNameValidator in interface IRemoteFileSubSystemConfiguration

getFolderNameValidator

public ValidatorFolderName getFolderNameValidator()
Return validator used when creating or renaming folders

Specified by:
getFolderNameValidator in interface IRemoteFileSubSystemConfiguration

getSeparator

public String getSeparator()
Return in string format the character used to separate folders. Eg, "\" or "/"

Specified by:
getSeparator in interface IRemoteFileSubSystemConfiguration

getSeparatorChar

public char getSeparatorChar()
Return in character format the character used to separate folders. Eg, "\" or "/"

Specified by:
getSeparatorChar in interface IRemoteFileSubSystemConfiguration

getPathSeparator

public String getPathSeparator()
Return in string format the character used to separate paths. Eg, ";" or ":"

Specified by:
getPathSeparator in interface IRemoteFileSubSystemConfiguration

getPathSeparatorChar

public char getPathSeparatorChar()
Return in char format the character used to separate paths. Eg, ";" or ":"

Specified by:
getPathSeparatorChar in interface IRemoteFileSubSystemConfiguration

getLineSeparator

public String getLineSeparator()
Return as a string the line separator.

Specified by:
getLineSeparator in interface IRemoteFileSubSystemConfiguration

supportsSubSystemConnect

public boolean supportsSubSystemConnect()
We return true.

Specified by:
supportsSubSystemConnect in interface ISubSystemConfiguration
Overrides:
supportsSubSystemConnect in class SubSystemConfiguration
See Also:
SubSystemConfiguration.supportsSubSystemConnect()

isPortEditable

public boolean isPortEditable()
We return true.

Specified by:
isPortEditable in interface ISubSystemConfiguration
Overrides:
isPortEditable in class SubSystemConfiguration
See Also:
SubSystemConfiguration.isPortEditable()

supportsCommands

public boolean supportsCommands()
We return false.

Specified by:
supportsCommands in interface ISubSystemConfiguration
Overrides:
supportsCommands in class SubSystemConfiguration
See Also:
SubSystemConfiguration.supportsCommands()

supportsProperties

public boolean supportsProperties()
We return false.

Specified by:
supportsProperties in interface ISubSystemConfiguration
Overrides:
supportsProperties in class SubSystemConfiguration
See Also:
SubSystemConfiguration.supportsProperties()

supportsFilters

public boolean supportsFilters()
We return true.

Specified by:
supportsFilters in interface ISubSystemConfiguration
Overrides:
supportsFilters in class SubSystemConfiguration
See Also:
SubSystemConfiguration.supportsFilters()

supportsDropInFilters

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

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

providesCustomDropInFilters

public boolean providesCustomDropInFilters()
Indicates that a drop on a filter will be handled as a copy by the file subsystem rather than having a filter update.

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

supportsNestedFilters

public boolean supportsNestedFilters()
We return supportsFilters()

Specified by:
supportsNestedFilters in interface ISubSystemConfiguration
Overrides:
supportsNestedFilters in class SubSystemConfiguration
See Also:
SubSystemConfiguration.supportsNestedFilters()

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.

We return true.

Specified by:
supportsUserDefinedActions in interface ISubSystemConfiguration
Overrides:
supportsUserDefinedActions in class SubSystemConfiguration
See Also:
#createActionSubSystem()

supportsFileTypes

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

We return true

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

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.

By returning true, user sees a "Work with->Compile Commands..." action item in the popup menu for this subsystem. The action is supplied by the framework, but is populated using overridable methods in this subsystem.

We return false, but really we expect subclasses to return true

Specified by:
supportsCompileActions in interface ISubSystemConfiguration
Overrides:
supportsCompileActions in class SubSystemConfiguration
See Also:
#getCompileManager(), #createCompileManager()

createDefaultFilterPool

protected ISystemFilterPool createDefaultFilterPool(ISystemFilterPoolManager mgr)
Override from parent.

Here we create the default filter pool for this subsystem factory, and populate it with default filters.

This is overridden for local, windows and ifs file subsystem factories, so what we default here applies to Unix and Linux only.

Overrides:
createDefaultFilterPool in class SubSystemConfiguration

getTranslatedFilterTypeProperty

public String getTranslatedFilterTypeProperty(ISystemFilter selectedFilter)
Return the translated string to show in the property sheet for the type property.

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

createSubSystemInternal

public ISubSystem createSubSystemInternal(IHost conn)
Instantiate and return an instance of OUR subystem. Do not populate it yet though! Eg:

     	SubSystem subsys = ((AcmesubsysFactoryImpl)factory).createAcmeSubSystem();
     	return subsys;
 
noteThis method should be abstract but MOF doesn't allow abstract impl classes at this point

Specified by:
createSubSystemInternal in interface ISubSystemConfiguration
Specified by:
createSubSystemInternal in class SubSystemConfiguration
See Also:
SubSystemConfiguration.createSubSystemInternal(IHost)

initializeSubSystem

protected void initializeSubSystem(ISubSystem ss,
                                   ISystemNewConnectionWizardPage[] yourNewConnectionWizardPages)
Populate a new subsystem with our unique attributes, and/or create default filter references.

Overrides:
initializeSubSystem in class SubSystemConfiguration
Parameters:
ss - - 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. This is null when this method is called other than for a New Connection operation.
See Also:
SubSystemConfiguration.initializeSubSystem(ISubSystem,ISystemNewConnectionWizardPage[]), SubSystemConfigurationAdapter.getNewConnectionWizardPages(org.eclipse.rse.core.subsystems.ISubSystemConfiguration, org.eclipse.jface.wizard.IWizard)

getEditorProfileID

public String getEditorProfileID()
Return the default remote systems editor profile ID for files on this subsystem

Specified by:
getEditorProfileID in interface IRemoteFileSubSystemConfiguration

isFactoryFor

public boolean isFactoryFor(Class subSystemType)
Determines whether this factory is responsible for the creation of subsytems of the specified type Subsystem factories should override this to indicate which subsystems they support.

Specified by:
isFactoryFor in interface ISubSystemConfiguration
Overrides:
isFactoryFor in class SubSystemConfiguration
Parameters:
subSystemType - type of subsystem
Returns:
whether this factory is for the specified subsystemtype

RSE
Release 1.0

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