RSE
Release 1.0

org.eclipse.rse.core
Class SystemResourceManager

java.lang.Object
  extended byorg.eclipse.rse.core.SystemResourceManager
All Implemented Interfaces:
SystemResourceConstants

public class SystemResourceManager
extends Object
implements SystemResourceConstants

Static methods that manage the workbench resource tree for the remote systems project. All code in the framework uses this to access the file system for save/restore purposes. By limiting all access to one place, we simply changes should we decide to change the underlying file system map.

Assumptions


Field Summary
 
Fields inherited from interface org.eclipse.rse.core.SystemResourceConstants
RESOURCE_COMPILECOMMANDS_FOLDER_NAME, RESOURCE_CONNECTIONS_FOLDER_NAME, RESOURCE_FILTERS_FOLDER_NAME, RESOURCE_PROJECT_NAME, RESOURCE_TEAMPROFILE_NAME, RESOURCE_TEMPFILES_PROJECT_NAME, RESOURCE_TYPE_FILTERS_FOLDER_NAME, RESOURCE_USERACTIONS_FOLDER_NAME
 
Constructor Summary
SystemResourceManager()
           
 
Method Summary
static String addPathTerminator(String path)
          Ensure given path ends with path separator.
static void addResourceChangeListener(IResourceChangeListener l)
          Register a listener for resource change events on objects in our remote system project.
protected static IProject createRemoteSystemsProjectInternal(IProject proj)
          Create a remote systems project, plus the core subfolders required.
static String[] deduceProfileNames()
          Guess the profile names by itemizing all the root folders, and assuming any such folder that has a file in it named "profile.xmi" is indeed a profile whose name equals the folder name.
static void deleteFile(IFolder folder, String fileName)
          Delete a file
static void deleteFolder(IFolder folder)
          Delete a folder
static void endResourceEventListening()
          End event listening.
static void ensureOnResourceEventListening()
          Ensure event listening is on.
static IFolder getCompileCommandsFolder(ISystemProfile profile, ISubSystemConfiguration ssFactory)
          Get compile commands root folder given a system profile object and subsystem factory
protected static IFolder getCompileCommandsFolder(String profileName)
          Get compile commands root folder given a system profile name
static IFolder getCompileCommandsFolder(String profileName, ISubSystemConfiguration ssFactory)
          Get compile commands root folder given a system profile name and subsystem factory
static IFolder getCompileCommandsFolder(String profileName, String factoryId)
          Get compile commands root folder given a system profile name and subsystem factory Id.
static String getFolderName(IHost conn)
          Map a system connection object to a folder name
static String getFolderName(ISubSystemConfiguration ssFactory)
          Map a subsystem factory object to a folder name
static String getFolderName(ISystemFilterPool pool)
          Map a filter pool name to a folder name Current algorith is that pool name equals folder name, but we use this method to allow flexibility in the future.
static String getFolderPath(IFolder folder)
          Given any folder, return its path as a string.
static String getFolderPathWithTerminator(IFolder folder)
          Given any folder, return its path as a string, and an ending '\'
static IFolder getProfileFolder(ISystemProfile profile)
          Get profiles folder for a given profile
static IFolder getProfileFolder(String profileName)
          Get profiles folder for a given profile name
static IFolder[] getProfileFolders()
          Each root folder of the project is assumed to be a profile, if it has a file named profile.xmi
static String getProfileName(ISystemFilterPoolManager mgr)
          Map a filter pool manager name to a profile name Current algorith is that manager name equals profile name, but we use this method to allow flexibility in the future.
static String getProfileName(ISystemHostPool pool)
          Map a connection pool name to a profile name.
static IProject getRemoteSystemsProject()
          Get the default remote systems project.
static IProject getRemoteSystemsTempFilesProject()
          Get the default remote systems temp files project.
protected static SystemResourceHelpers getResourceHelpers()
          Return singleton of resource helpers object
static IFolder getTypeFiltersFolder()
          Get the typeFilters root folder
static IFolder getTypeFiltersFolder(ISubSystemConfiguration ssFactory)
          Get the typeFilters sub-folder per subsystem factory object
static IFolder getTypeFiltersFolder(String ssFactoryId)
          Get the typeFilters sub-folder per subsystem factory id
static IFolder getUserActionsFolder(ISystemProfile profile, ISubSystemConfiguration ssFactory)
          Get user defined actions root folder given a system profile object and subsystem factory
protected static IFolder getUserActionsFolder(String profileName)
          Get user defined actions root folder given a system profile name
static IFolder getUserActionsFolder(String profileName, ISubSystemConfiguration ssFactory)
          Get user defined actions root folder given a system profile name and subsystem factory
static IFolder getUserActionsFolder(String profileName, String factoryId)
          Get user defined actions root folder given a system profile name and subsystem factory Id.
static boolean isFirstTime()
          Return true if we just created the remote systems project for the first time.
static void removeResourceChangeListener(IResourceChangeListener l)
          Remove a listener for resource change events on an object in our remote system project.
static void renameFile(IFolder folder, String oldName, String newName)
          Rename a file
static void renameFolder(IFolder folder, String newName)
          Rename a folder
static void startResourceEventListening()
          Start event listening.
static boolean testIfResourceInUse(IResource resource)
          Test if a resource is in use, prior to attempting to rename or delete it.
static boolean testUserActionsFolder(String profileName, ISubSystemConfiguration ssFactory)
          Test for existence of user defined actions root folder given a system profile name and subsystem factory
static void turnOffResourceEventListening()
          Turn off event listening.
static void turnOnResourceEventListening()
          Turn off event listening.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SystemResourceManager

public SystemResourceManager()
Method Detail

turnOffResourceEventListening

public static void turnOffResourceEventListening()
Turn off event listening. Please call this before do anything that modifies resources and turn it on again after.


turnOnResourceEventListening

public static void turnOnResourceEventListening()
Turn off event listening. Please call this after modifying resources.


ensureOnResourceEventListening

public static void ensureOnResourceEventListening()
Ensure event listening is on. Called at start of team synch action to be safe.


startResourceEventListening

public static void startResourceEventListening()
Start event listening. Requests to turn on and off are ignored until this is called, which is at the appropriate point in the startup sequence.


endResourceEventListening

public static void endResourceEventListening()
End event listening. Requests to turn on and off are ignored after this is called, which is at the appropriate point in the shutdown sequence.


addResourceChangeListener

public static void addResourceChangeListener(IResourceChangeListener l)
Register a listener for resource change events on objects in our remote system project. No attempt is made to filter the events, they are simply passed on and the listener can decide if the event applies to them or not.

However, the event will only be fired if a change is made to that resource outside of the normal activities of the Remote Systems Framework, and only for resources within the Remote Systems Connection project.


removeResourceChangeListener

public static void removeResourceChangeListener(IResourceChangeListener l)
Remove a listener for resource change events on an object in our remote system project.


getRemoteSystemsProject

public static IProject getRemoteSystemsProject()
Get the default remote systems project.

Returns:
IProject handle of the project. Use exists() to test existence.

getRemoteSystemsTempFilesProject

public static IProject getRemoteSystemsTempFilesProject()
Get the default remote systems temp files project.

Returns:
IProject handle of the project. Use exists() to test existence.

createRemoteSystemsProjectInternal

protected static IProject createRemoteSystemsProjectInternal(IProject proj)
Create a remote systems project, plus the core subfolders required.

Returns:
IProject handle of the project.

isFirstTime

public static boolean isFirstTime()
Return true if we just created the remote systems project for the first time. This call has the side effect of resetting the flag to false so it doesn't return true more than once, ever.


getProfileFolders

public static IFolder[] getProfileFolders()
Each root folder of the project is assumed to be a profile, if it has a file named profile.xmi


deduceProfileNames

public static String[] deduceProfileNames()
Guess the profile names by itemizing all the root folders, and assuming any such folder that has a file in it named "profile.xmi" is indeed a profile whose name equals the folder name.


getProfileFolder

public static IFolder getProfileFolder(ISystemProfile profile)
Get profiles folder for a given profile


getProfileFolder

public static IFolder getProfileFolder(String profileName)
Get profiles folder for a given profile name


getUserActionsFolder

protected static IFolder getUserActionsFolder(String profileName)
Get user defined actions root folder given a system profile name


getUserActionsFolder

public static IFolder getUserActionsFolder(ISystemProfile profile,
                                           ISubSystemConfiguration ssFactory)
Get user defined actions root folder given a system profile object and subsystem factory


getUserActionsFolder

public static IFolder getUserActionsFolder(String profileName,
                                           ISubSystemConfiguration ssFactory)
Get user defined actions root folder given a system profile name and subsystem factory


testUserActionsFolder

public static boolean testUserActionsFolder(String profileName,
                                            ISubSystemConfiguration ssFactory)
Test for existence of user defined actions root folder given a system profile name and subsystem factory


getUserActionsFolder

public static IFolder getUserActionsFolder(String profileName,
                                           String factoryId)
Get user defined actions root folder given a system profile name and subsystem factory Id. This is a special-needs method provided for the Import action processing, when a subsystem instance is not available.


getCompileCommandsFolder

protected static IFolder getCompileCommandsFolder(String profileName)
Get compile commands root folder given a system profile name


getCompileCommandsFolder

public static IFolder getCompileCommandsFolder(ISystemProfile profile,
                                               ISubSystemConfiguration ssFactory)
Get compile commands root folder given a system profile object and subsystem factory


getCompileCommandsFolder

public static IFolder getCompileCommandsFolder(String profileName,
                                               ISubSystemConfiguration ssFactory)
Get compile commands root folder given a system profile name and subsystem factory


getCompileCommandsFolder

public static IFolder getCompileCommandsFolder(String profileName,
                                               String factoryId)
Get compile commands root folder given a system profile name and subsystem factory Id. This is a special-needs method provided for the Import action processing, when a subsystem instance is not available.


renameFolder

public static void renameFolder(IFolder folder,
                                String newName)
Rename a folder


deleteFolder

public static void deleteFolder(IFolder folder)
Delete a folder


renameFile

public static void renameFile(IFolder folder,
                              String oldName,
                              String newName)
Rename a file


deleteFile

public static void deleteFile(IFolder folder,
                              String fileName)
Delete a file


getProfileName

public static String getProfileName(ISystemHostPool pool)
Map a connection pool name to a profile name. Current algorith is that pool name equals profile name, but we use this method to allow flexibility in the future.


getProfileName

public static String getProfileName(ISystemFilterPoolManager mgr)
Map a filter pool manager name to a profile name Current algorith is that manager name equals profile name, but we use this method to allow flexibility in the future.


getFolderName

public static String getFolderName(ISystemFilterPool pool)
Map a filter pool name to a folder name Current algorith is that pool name equals folder name, but we use this method to allow flexibility in the future.


getFolderName

public static String getFolderName(IHost conn)
Map a system connection object to a folder name


getFolderName

public static String getFolderName(ISubSystemConfiguration ssFactory)
Map a subsystem factory object to a folder name


getFolderPath

public static String getFolderPath(IFolder folder)
Given any folder, return its path as a string.


getFolderPathWithTerminator

public static String getFolderPathWithTerminator(IFolder folder)
Given any folder, return its path as a string, and an ending '\'


getResourceHelpers

protected static SystemResourceHelpers getResourceHelpers()
Return singleton of resource helpers object


addPathTerminator

public static String addPathTerminator(String path)
Ensure given path ends with path separator.


testIfResourceInUse

public static boolean testIfResourceInUse(IResource resource)
Test if a resource is in use, prior to attempting to rename or delete it.

Returns:
true if it is in use or read only, false if it is not.

getTypeFiltersFolder

public static IFolder getTypeFiltersFolder()
Get the typeFilters root folder


getTypeFiltersFolder

public static IFolder getTypeFiltersFolder(ISubSystemConfiguration ssFactory)
Get the typeFilters sub-folder per subsystem factory object


getTypeFiltersFolder

public static IFolder getTypeFiltersFolder(String ssFactoryId)
Get the typeFilters sub-folder per subsystem factory id


RSE
Release 1.0

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