Remote Systems
v6.4.1

com.ibm.etools.systems.filters.impl
Class SystemFilterPoolManagerImpl

java.lang.Object
  extended byEObjectImpl
      extended bycom.ibm.etools.systems.filters.impl.SystemFilterPoolManagerImpl
All Implemented Interfaces:
SystemFilterPoolManager

public class SystemFilterPoolManagerImpl
extends EObjectImpl
implements SystemFilterPoolManager

See Also:
Serialized Form

Field Summary
static String copyright
           
static boolean debug
           
protected  String name
           
protected static String NAME_EDEFAULT
          The default value of the 'Name' attribute
protected  EList pools
           
protected static boolean SINGLE_FILTER_STRING_ONLY_EDEFAULT
          The default value of the 'Single Filter String Only' attribute
protected  boolean singleFilterStringOnly
          The cached value of the 'Single Filter String Only' attribute
protected static boolean STRINGS_CASE_SENSITIVE_EDEFAULT
          The default value of the 'Strings Case Sensitive' attribute
protected  boolean stringsCaseSensitive
           
protected static boolean SUPPORTS_DUPLICATE_FILTER_STRINGS_EDEFAULT
          The default value of the 'Supports Duplicate Filter Strings' attribute
protected static boolean SUPPORTS_NESTED_FILTERS_EDEFAULT
          The default value of the 'Supports Nested Filters' attribute
protected  boolean supportsDuplicateFilterStrings
           
protected  boolean supportsDuplicateFilterStringsESet
          This is true if the Supports Duplicate Filter Strings attribute has been set
protected  boolean supportsNestedFilters
           
 
Constructor Summary
protected SystemFilterPoolManagerImpl()
          Constructor
 
Method Summary
 SystemFilterString addSystemFilterString(SystemFilter filter, String newString)
          Append a new filter string to the given filter's list Does the following: Adds the filter string to the in-memory cache Saves parent filter pool to disk.
 SystemFilterString addSystemFilterString(SystemFilter filter, String newString, int position)
          Insert a new filter string to the its filters' list, at the given zero-based position Does the following: Adds the filter string to the in-memory cache Saves parent filter pool to disk.
 boolean areStringsCaseSensitive()
          Same as isStringsCaseSensitive() Are filter strings in this filter case sensitive?
 SystemFilter copySystemFilter(SystemFilterPool targetPool, SystemFilter oldFilter, String newName)
          Copy a system filter to a pool in this or another filter manager.
 SystemFilterPool copySystemFilterPool(SystemFilterPoolManager targetMgr, SystemFilterPool oldPool, String newName)
          Copy the specified filter pool from this manager to this manager or another manager.
 void copySystemFilterPools(SystemFilterPoolManager targetMgr)
          Copy all filter pools from this manager to another manager.
 SystemFilterString copySystemFilterString(SystemFilter targetFilter, SystemFilterString oldFilterString)
          Copy a system filter string to a filter in this or another filter pool manager.
protected static SystemFilterPoolManagerImpl createManager()
           
 SystemFilter createSystemFilter(SystemFilterContainer parent, String aliasName, Vector filterStrings)
          Creates a new system filter within the given filter container (either a filter pool, or a filter).
 SystemFilter createSystemFilter(SystemFilterContainer parent, String aliasName, Vector filterStrings, String type)
          Creates a new system filter that is typed.
 SystemFilter createSystemFilter(SystemFilterContainer parent, String aliasName, Vector filterStrings, String type, boolean promptable)
          Creates a new system filter that is typed and promptable Same as createSystemFilter(SystemFilterContainer, String ,Vector, String) but takes a boolean indicating if it is promptable.
 SystemFilterPool createSystemFilterPool(String poolName, boolean isDeletable)
          Create a new filter pool.
static SystemFilterPoolManager createSystemFilterPoolManager(Logger logger, SystemFilterPoolManagerProvider caller, IFolder mgrFolder, String name, boolean allowNestedFilters, int savePolicy, SystemFilterNamingPolicy namingPolicy)
          Factory to create a filter pool manager.
protected  Vector deducePoolNames()
          Private helper method to deduce filter pool folder names.
 void deleteAllSystemFilterPools()
          Delete all existing filter pools.
 boolean deleteSystemFilter(SystemFilter filter)
          Delete an existing system filter.
 void deleteSystemFilterPool(SystemFilterPool pool)
          Delete a given filter pool.
protected  String derivePoolFolderName(String poolName)
          Derive and return the unqualified folder name for a filter pool, given the pool's name.
 Object eGet(EStructuralFeature eFeature, boolean resolve)
           
 boolean eIsSet(EStructuralFeature eFeature)
           
 void eSet(EStructuralFeature eFeature, Object newValue)
           
protected  EClass eStaticClass()
           
 void eUnset(EStructuralFeature eFeature)
           
 SystemFilterPool getFirstDefaultSystemFilterPool()
          Return the first pool that has the default attribute set to true.
 IFolder getFolder()
          Return the folder that this manager is contained in.
static String getFolderPath(IFolder folder)
          Return the path of the given folder
 Logger getLogger()
          Return our logger
 SystemMOFHelpers getMOFHelpers()
          Return mof helpers instance.
static SystemMOFHelpers getMOFHelpers(Logger logger)
          Return mof helpers instance given a logging object
 String getName()
          Return the name of this manager.
 SystemFilterNamingPolicy getNamingPolicy()
          Get the naming policy currently used when saving data to disk.
 EList getPools()
           
 SystemFilterPoolManagerProvider getProvider()
          Return the caller which instantiated the filter pool manager
protected static String getRootSaveFileName(SystemFilterNamingPolicy namingPolicy, String managerName)
          Return the root save file name without the extension .xmi
protected static String getRootSaveFileName(SystemFilterPoolManager manager)
          Return the root save file name without the extension .xmi
 IFile getSaveFile(SystemFilterPool pool)
          Return the save file that will be written for the given filter pool.
protected static String getSaveFileName(SystemMOFHelpers mofHelpers, SystemFilterPoolManager manager)
          Return the unqualified save file name with the extension .xmi
 SystemFilterPool getSystemFilterPool(String name)
          Given a filter pool name, return that filter pool object.
 Object getSystemFilterPoolManagerData()
          Return transient data set via setFilterPoolData.
 String[] getSystemFilterPoolNames()
          Get list of filter pool names currently existing.
 Vector getSystemFilterPoolNamesVector()
          Get list of filter pool names currently existing.
 SystemFilterPool[] getSystemFilterPools()
          Return array of SystemFilterPools managed by this manager.
 int getSystemFilterPosition(SystemFilter filter)
          Return the zero-based position of a SystemFilter object within its container
 int getSystemFilterStringPosition(SystemFilterString filterString)
          Return the zero-based position of a SystemFilterString object within its filter
protected  void initialize(Logger logger, SystemFilterPoolManagerProvider caller, IFolder folder, String name, boolean allowNestedFilters, int savePolicy, SystemFilterNamingPolicy namingPolicy)
           
protected  void initialize(Logger logger, SystemFilterPoolManagerProvider caller, IFolder folder, String name, int savePolicy, SystemFilterNamingPolicy namingPolicy)
           
 boolean isSetSupportsDuplicateFilterStrings()
           
 boolean isSingleFilterStringOnly()
           
 boolean isStringsCaseSensitive()
           
 boolean isSupportsDuplicateFilterStrings()
           
 boolean isSupportsNestedFilters()
           
 void logDebugMessage(String prefix, String message)
          Helper method for logging debug messages
 void logError(String message, Throwable exception)
          Helper method for logging errors (exceptions)
 void logInfo(String message)
          Helper method for logging information
 void logMessage(String msg)
          Deprecated. Use either logInfo, logWarning, logError, or logDebugMessage. This method now calls logInfo.
 void logWarning(String message)
          Helper method for logging warnings
 SystemFilter moveSystemFilter(SystemFilterPool targetPool, SystemFilter oldFilter, String newName)
          Move a system filter to a pool in this or another filter manager.
 SystemFilterPool moveSystemFilterPool(SystemFilterPoolManager targetMgr, SystemFilterPool oldPool, String newName)
          Move the specified filter pool from this manager to another manager.
 void moveSystemFilters(SystemFilter[] filters, int delta)
          Move existing filters a given number of positions in the same container.
 SystemFilterString moveSystemFilterString(SystemFilter targetFilter, SystemFilterString oldFilterString)
          Move a system filter string to a filter in this or another filter pool manager.
 void moveSystemFilterStrings(SystemFilterString[] filterStrings, int delta)
          Move existing filter strings a given number of positions in the same filter If the delta is negative, they are all moved up by the given amount.
 void orderSystemFilters(SystemFilterPool pool, String[] names)
          Order filters according to user preferences.
 boolean preTestRenameFilterPool(SystemFilterPool pool)
          Pre-test if we are going to run into any trouble renaming any of the files or folders used to persist a filter pool.
 boolean removeSystemFilterString(SystemFilter filter, int position)
          Remove a filter string from the given filter's list, given its zero-based position Does the following: Removes the filter string from the in-memory cache Saves parent filter pool to disk.
 boolean removeSystemFilterString(SystemFilter filter, String oldString)
          Delete a filter string from the given filter's list Does the following: Removes the filter string from the in-memory cache Saves parent filter pool to disk.
 boolean removeSystemFilterString(SystemFilter filter, SystemFilterString filterString)
          Remove a filter string from this filter's list, given its SystemFilterString object.
 void renameSystemFilter(SystemFilter filter, String newName)
          Renames a filter.
 void renameSystemFilterPool(SystemFilterPool pool, String newName)
          Rename a given filter pool.
 void resetManagerFolder(IFolder newFolder)
          Reset the manager folder
static SystemFilterPoolManager restore(Logger logger, SystemFilterPoolManagerProvider caller, IFolder mgrFolder, String name, int savePolicy)
          Restore the filter pools from disk, assuming default for prefix of name.
static SystemFilterPoolManager restore(Logger logger, SystemFilterPoolManagerProvider caller, IFolder mgrFolder, String name, int savePolicy, SystemFilterNamingPolicy namingPolicy)
          Restore the filter pools from disk.
protected static SystemFilterPoolManager restoreFromOneFile(Logger logger, IFolder mgrFolder, String name, SystemFilterNamingPolicy namingPolicy)
          Restore filter pools when all are stored in one file
 void save()
          Save all the filter pools to disk.
 void save(SystemFilterPool pool)
          Save the given filter pool to disk.
protected  void saveToOneFile()
          Save this object to disk, into a single file.
protected  void setFilterPoolManager()
          Set transient variable pointing back to us.
 void setLogger(Logger logger)
          Set our logger
 void setName(String name)
          Set the name of this manager.
 void setNameGen(String newName)
           
 void setNamingPolicy(SystemFilterNamingPolicy namingPolicy)
          Set the naming policy used when saving data to disk.
 void setProvider(SystemFilterPoolManagerProvider caller)
          Set the caller instance which instantiated the filter pool manager.
 void setSingleFilterStringOnly(boolean newSingleFilterStringOnly)
           
 void setStringsCaseSensitive(boolean newStringsCaseSensitive)
          Set attribute indicating if filters managed by this manager support case-sensitive filter strings, by default.
 void setStringsCaseSensitiveGen(boolean newStringsCaseSensitive)
           
 void setSupportsDuplicateFilterStrings(boolean newSupportsDuplicateFilterStrings)
          Set attribute indicating if filters managed by this manager support duplicate filter strings, by default.
 void setSupportsDuplicateFilterStringsGen(boolean newSupportsDuplicateFilterStrings)
           
 void setSupportsNestedFilters(boolean newSupportsNestedFilters)
          Set attribute indicating if filter pools managed by this manager support nested filters, by default.
 void setSupportsNestedFiltersGen(boolean newSupportsNestedFilters)
           
 void setSystemFilterPoolManagerData(Object data)
          This is to set transient data that is subsequently queryable.
 void setSystemFilterType(SystemFilter filter, String newType)
          Sets a filter's type.
 boolean supportsDuplicateFilterStrings()
          Return attribute indicating if filters managed by this manager support nested duplicate filter strings.
 boolean supportsNestedFilters()
          Return attribute indicating if filter pools managed by this manager support nested filters.
 void suspendCallbacks(boolean suspend)
          Suspend callbacks to the provider
 String toString()
           
 void unsetSupportsDuplicateFilterStrings()
           
 void updateSystemFilter(SystemFilter filter, String newName, String[] strings)
          Updates a filter.
 void updateSystemFilterString(SystemFilterString filterString, String newValue)
          Update a filter string's string vale Does the following: Update the filter string in the in-memory cache Saves parent filter pool to disk.
 boolean wasRestored()
          Return false if the instantiation of this filter pool manager resulting in a new manager versus a restoration
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

debug

public static boolean debug

copyright

public static final String copyright
See Also:
Constant Field Values

NAME_EDEFAULT

protected static final String NAME_EDEFAULT
The default value of the 'Name' attribute.

See Also:
getName()

name

protected String name

SUPPORTS_NESTED_FILTERS_EDEFAULT

protected static final boolean SUPPORTS_NESTED_FILTERS_EDEFAULT
The default value of the 'Supports Nested Filters' attribute.

See Also:
isSupportsNestedFilters(), Constant Field Values

supportsNestedFilters

protected boolean supportsNestedFilters

STRINGS_CASE_SENSITIVE_EDEFAULT

protected static final boolean STRINGS_CASE_SENSITIVE_EDEFAULT
The default value of the 'Strings Case Sensitive' attribute.

See Also:
isStringsCaseSensitive(), Constant Field Values

stringsCaseSensitive

protected boolean stringsCaseSensitive

SUPPORTS_DUPLICATE_FILTER_STRINGS_EDEFAULT

protected static final boolean SUPPORTS_DUPLICATE_FILTER_STRINGS_EDEFAULT
The default value of the 'Supports Duplicate Filter Strings' attribute.

See Also:
isSupportsDuplicateFilterStrings(), Constant Field Values

supportsDuplicateFilterStrings

protected boolean supportsDuplicateFilterStrings

supportsDuplicateFilterStringsESet

protected boolean supportsDuplicateFilterStringsESet
This is true if the Supports Duplicate Filter Strings attribute has been set.


SINGLE_FILTER_STRING_ONLY_EDEFAULT

protected static final boolean SINGLE_FILTER_STRING_ONLY_EDEFAULT
The default value of the 'Single Filter String Only' attribute.

See Also:
isSingleFilterStringOnly(), Constant Field Values

singleFilterStringOnly

protected boolean singleFilterStringOnly
The cached value of the 'Single Filter String Only' attribute.

See Also:
isSingleFilterStringOnly()

pools

protected EList pools
Constructor Detail

SystemFilterPoolManagerImpl

protected SystemFilterPoolManagerImpl()
Constructor

Method Detail

eStaticClass

protected EClass eStaticClass()


createSystemFilterPoolManager

public static SystemFilterPoolManager createSystemFilterPoolManager(Logger logger,
                                                                    SystemFilterPoolManagerProvider caller,
                                                                    IFolder mgrFolder,
                                                                    String name,
                                                                    boolean allowNestedFilters,
                                                                    int savePolicy,
                                                                    SystemFilterNamingPolicy namingPolicy)
Factory to create a filter pool manager.

Parameters:
logger - A logging object into which to log errors as they happen in the framework
caller - Objects which instantiate this class should implement the SystemFilterPoolManagerProvider interface, and pass "this" for this parameter. Given any filter framework object, it is possible to retrieve the caller's object via the getProvider method call.
mgrFolder - the folder that will be the manager folder. This is the parent of the filter pool folders the manager folder will hold, or the single xmi file for the save policy of one file per manager. This folder will be created if it does not already exist.
name - the name of the filter pool manager. Typically this is also the name of the given folder, but this is not required. For the save policy of one file per manager, the name of the file is derived from this. For other save policies, the name is not used.
allowNestedFilters - true if filters inside filter pools in this manager are to allow nested filters. This is the default, but can be overridden at the individual filter pool level.
savePolicy - The save policy for the filter pools and filters. One of the following constants from the SystemFilterConstants interface:
  • SAVE_POLICY_NONE - no files, all save/restore handled elsewhere
  • SAVE_POLICY_ONE_FILE_PER_MANAGER - one file: mgrName.xmi
  • SAVE_POLICY_ONE_FILEANDFOLDER_PER_POOL - one file and folder per pool
  • SAVE_POLICY_ONE_FILE_PER_POOL_SAME_FOLDER - one file per pool, all files in one folder
  • SAVE_POLICY_ONE_FILE_PER_FILTER - one file per filter, one folder per pool
namingPolicy - The names to use for file and folders when persisting to disk. Pass null to just use the defaults, or if using SAVE_POLICY_NONE.

createManager

protected static SystemFilterPoolManagerImpl createManager()

initialize

protected void initialize(Logger logger,
                          SystemFilterPoolManagerProvider caller,
                          IFolder folder,
                          String name,
                          boolean allowNestedFilters,
                          int savePolicy,
                          SystemFilterNamingPolicy namingPolicy)

initialize

protected void initialize(Logger logger,
                          SystemFilterPoolManagerProvider caller,
                          IFolder folder,
                          String name,
                          int savePolicy,
                          SystemFilterNamingPolicy namingPolicy)

deducePoolNames

protected Vector deducePoolNames()
Private helper method to deduce filter pool folder names.


wasRestored

public boolean wasRestored()
Return false if the instantiation of this filter pool manager resulting in a new manager versus a restoration

Specified by:
wasRestored in interface SystemFilterPoolManager

getProvider

public SystemFilterPoolManagerProvider getProvider()
Return the caller which instantiated the filter pool manager

Specified by:
getProvider in interface SystemFilterPoolManager

setProvider

public void setProvider(SystemFilterPoolManagerProvider caller)
Set the caller instance which instantiated the filter pool manager. This is only recorded to enable getProvider from any filter framework object.

Specified by:
setProvider in interface SystemFilterPoolManager

setNamingPolicy

public void setNamingPolicy(SystemFilterNamingPolicy namingPolicy)
Set the naming policy used when saving data to disk.

Specified by:
setNamingPolicy in interface SystemFilterPoolManager
See Also:
SystemFilterNamingPolicy

getNamingPolicy

public SystemFilterNamingPolicy getNamingPolicy()
Get the naming policy currently used when saving data to disk.

Specified by:
getNamingPolicy in interface SystemFilterPoolManager
See Also:
SystemFilterNamingPolicy

setName

public void setName(String name)
Set the name of this manager. Intercepted so the file get be renamed for SAVE_POLICY_ONE_FILE_PER_MANAGER.

Specified by:
setName in interface SystemFilterPoolManager

supportsNestedFilters

public boolean supportsNestedFilters()
Return attribute indicating if filter pools managed by this manager support nested filters. Same as isSupportsNestedFilters()

Specified by:
supportsNestedFilters in interface SystemFilterPoolManager

supportsDuplicateFilterStrings

public boolean supportsDuplicateFilterStrings()
Return attribute indicating if filters managed by this manager support nested duplicate filter strings. Same as isSupportsDuplicateFilterStrings()

Specified by:
supportsDuplicateFilterStrings in interface SystemFilterPoolManager

setSupportsNestedFilters

public void setSupportsNestedFilters(boolean newSupportsNestedFilters)
Set attribute indicating if filter pools managed by this manager support nested filters, by default. Cascaded down to all pools, and all filters in all pools. Alternatively, just call it on the particular pool or filter it applies to.

Specified by:
setSupportsNestedFilters in interface SystemFilterPoolManager

setSupportsDuplicateFilterStrings

public void setSupportsDuplicateFilterStrings(boolean newSupportsDuplicateFilterStrings)
Set attribute indicating if filters managed by this manager support duplicate filter strings, by default. Cascaded down to all pools, and all filters in all pools. Alternatively, just call it on the particular pool or filter it applies to.

Specified by:
setSupportsDuplicateFilterStrings in interface SystemFilterPoolManager

setSupportsDuplicateFilterStringsGen

public void setSupportsDuplicateFilterStringsGen(boolean newSupportsDuplicateFilterStrings)


isStringsCaseSensitive

public boolean isStringsCaseSensitive()

Specified by:
isStringsCaseSensitive in interface SystemFilterPoolManager
Returns:
The value of the StringsCaseSensitive attribute Are filter strings in this filter case sensitive?

areStringsCaseSensitive

public boolean areStringsCaseSensitive()
Same as isStringsCaseSensitive() Are filter strings in this filter case sensitive?

Specified by:
areStringsCaseSensitive in interface SystemFilterPoolManager
Returns:
The value of the StringsCaseSensitive attribute

setStringsCaseSensitive

public void setStringsCaseSensitive(boolean newStringsCaseSensitive)
Set attribute indicating if filters managed by this manager support case-sensitive filter strings, by default. Cascaded down to all pools, and all filters in all pools. Alternatively, just call it on the particular pool or filter it applies to.

Specified by:
setStringsCaseSensitive in interface SystemFilterPoolManager
Parameters:
newStringsCaseSensitive - The new value of the StringsCaseSensitive attribute

setStringsCaseSensitiveGen

public void setStringsCaseSensitiveGen(boolean newStringsCaseSensitive)


setFilterPoolManager

protected void setFilterPoolManager()
Set transient variable pointing back to us. Called after restoring. Cascaded down to all pools, and all filters in all pools.


setSystemFilterPoolManagerData

public void setSystemFilterPoolManagerData(Object data)
This is to set transient data that is subsequently queryable.

Specified by:
setSystemFilterPoolManagerData in interface SystemFilterPoolManager

getSystemFilterPoolManagerData

public Object getSystemFilterPoolManagerData()
Return transient data set via setFilterPoolData.

Specified by:
getSystemFilterPoolManagerData in interface SystemFilterPoolManager

getSystemFilterPools

public SystemFilterPool[] getSystemFilterPools()
Return array of SystemFilterPools managed by this manager.

Specified by:
getSystemFilterPools in interface SystemFilterPoolManager

getSystemFilterPoolNames

public String[] getSystemFilterPoolNames()
Get list of filter pool names currently existing.

Specified by:
getSystemFilterPoolNames in interface SystemFilterPoolManager

getSystemFilterPoolNamesVector

public Vector getSystemFilterPoolNamesVector()
Get list of filter pool names currently existing.

Specified by:
getSystemFilterPoolNamesVector in interface SystemFilterPoolManager

createSystemFilterPool

public SystemFilterPool createSystemFilterPool(String poolName,
                                               boolean isDeletable)
                                        throws Exception
Create a new filter pool. Inherits the following attributes from this manager:

If a pool of this name already exists, null will be returned.

Depending on the save policy, a new folder to hold the pool may be created. Its name will be derived from the pool name.

If the operation is successful, the pool will be saved to disk.

If this operation fails unexpectedly, an exception will be thrown.

Calls back to inform provider of this event

Specified by:
createSystemFilterPool in interface SystemFilterPoolManager
Throws:
Exception

deleteSystemFilterPool

public void deleteSystemFilterPool(SystemFilterPool pool)
                            throws Exception
Delete a given filter pool. Dependending on the save policy, the appropriate file or folder on disk will also be deleted.

Does the following:

Specified by:
deleteSystemFilterPool in interface SystemFilterPoolManager
Parameters:
pool - The filter pool object to physically delete
Throws:
Exception

deleteAllSystemFilterPools

public void deleteAllSystemFilterPools()
Delete all existing filter pools. Call this when you are about to delete this manager, say.

Specified by:
deleteAllSystemFilterPools in interface SystemFilterPoolManager

preTestRenameFilterPool

public boolean preTestRenameFilterPool(SystemFilterPool pool)
                                throws Exception
Pre-test if we are going to run into any trouble renaming any of the files or folders used to persist a filter pool.

Specified by:
preTestRenameFilterPool in interface SystemFilterPoolManager
Throws:
Exception

renameSystemFilterPool

public void renameSystemFilterPool(SystemFilterPool pool,
                                   String newName)
                            throws Exception
Rename a given filter pool. Dependending on the save policy, the appropriate file or folder on disk will also be renamed.

Does the following:

Specified by:
renameSystemFilterPool in interface SystemFilterPoolManager
Parameters:
pool - The filter pool object to physically rename
newName - The new name to give the pool
Throws:
Exception

copySystemFilterPool

public SystemFilterPool copySystemFilterPool(SystemFilterPoolManager targetMgr,
                                             SystemFilterPool oldPool,
                                             String newName)
                                      throws Exception
Copy the specified filter pool from this manager to this manager or another manager.

Does the following:

Specified by:
copySystemFilterPool in interface SystemFilterPoolManager
Parameters:
targetMgr - The target manager to copy our filter pool to. Can be this manager, but target pool name must be unique.
oldPool - The filter pool to copy
newName - The new name to give the copied pool
Returns:
the new copy
Throws:
Exception

moveSystemFilterPool

public SystemFilterPool moveSystemFilterPool(SystemFilterPoolManager targetMgr,
                                             SystemFilterPool oldPool,
                                             String newName)
                                      throws Exception
Move the specified filter pool from this manager to another manager.

Does the following:

Specified by:
moveSystemFilterPool in interface SystemFilterPoolManager
Parameters:
targetMgr - The target manager to move our filter pool to. Cannot be this manager.
oldPool - The filter pool to move
newName - The new name to give the moved pool
Returns:
the new copy of the moved system filter pool
Throws:
Exception

copySystemFilterPools

public void copySystemFilterPools(SystemFilterPoolManager targetMgr)
                           throws Exception
Copy all filter pools from this manager to another manager.

Does the following:

Specified by:
copySystemFilterPools in interface SystemFilterPoolManager
Parameters:
targetMgr - The target manager to copy our filter pools to
Throws:
Exception

getSystemFilterPool

public SystemFilterPool getSystemFilterPool(String name)
Given a filter pool name, return that filter pool object. If not found, returns null.

Specified by:
getSystemFilterPool in interface SystemFilterPoolManager

getFirstDefaultSystemFilterPool

public SystemFilterPool getFirstDefaultSystemFilterPool()
Return the first pool that has the default attribute set to true. If none found, returns null.

Specified by:
getFirstDefaultSystemFilterPool in interface SystemFilterPoolManager

createSystemFilter

public SystemFilter createSystemFilter(SystemFilterContainer parent,
                                       String aliasName,
                                       Vector filterStrings)
                                throws Exception
Creates a new system filter within the given filter container (either a filter pool, or a filter). This creates the filter, and then saves the filter pool.

Calls back to inform provider of this event (filterEventFilterCreated)

Specified by:
createSystemFilter in interface SystemFilterPoolManager
Parameters:
parent - The parent which is either a SystemFilterPool or a SystemFilter
aliasName - The name to give the new filter. Must be unique for this pool.
filterStrings - The list of String objects that represent the filter strings.
Throws:
Exception

createSystemFilter

public SystemFilter createSystemFilter(SystemFilterContainer parent,
                                       String aliasName,
                                       Vector filterStrings,
                                       String type)
                                throws Exception
Creates a new system filter that is typed. Same as createSystemFilter(SystemFilterContainer, String, Vector) but takes a filter type as an additional parameter.

A filter's type is an arbitrary string that is not interpreted or used by the base framework. This is for use entirely by tools who wish to support multiple types of filters and be able to launch unique actions per type, say.

Specified by:
createSystemFilter in interface SystemFilterPoolManager
Parameters:
parent - The parent which is either a SystemFilterPool or a SystemFilter
aliasName - The name to give the new filter. Must be unique for this pool.
filterStrings - The list of String objects that represent the filter strings.
type - The type of this filter
Throws:
Exception

createSystemFilter

public SystemFilter createSystemFilter(SystemFilterContainer parent,
                                       String aliasName,
                                       Vector filterStrings,
                                       String type,
                                       boolean promptable)
                                throws Exception
Creates a new system filter that is typed and promptable Same as createSystemFilter(SystemFilterContainer, String ,Vector, String) but takes a boolean indicating if it is promptable.

A promptable filter is one in which the user is prompted for information at expand time. There is no base filter framework support for this, but tools can query this attribute and do their own thing at expand time.

Specified by:
createSystemFilter in interface SystemFilterPoolManager
Parameters:
parent - The parent which is either a SystemFilterPool or a SystemFilter
aliasName - The name to give the new filter. Must be unique for this pool.
filterStrings - The list of String objects that represent the filter strings.
type - The type of this filter
promptable - Pass true if this is a promptable filter
Throws:
Exception

deleteSystemFilter

public boolean deleteSystemFilter(SystemFilter filter)
                           throws Exception
Delete an existing system filter. Does the following:

Specified by:
deleteSystemFilter in interface SystemFilterPoolManager
Throws:
Exception

renameSystemFilter

public void renameSystemFilter(SystemFilter filter,
                               String newName)
                        throws Exception
Renames a filter. This is better than filter.setName(String newName) as it saves the parent pool to disk.

Does the following:

Does fire an event.

Specified by:
renameSystemFilter in interface SystemFilterPoolManager
Throws:
Exception

updateSystemFilter

public void updateSystemFilter(SystemFilter filter,
                               String newName,
                               String[] strings)
                        throws Exception
Updates a filter. This is better than doing it directly as it saves it to disk.

Does the following:

Specified by:
updateSystemFilter in interface SystemFilterPoolManager
Throws:
Exception

setSystemFilterType

public void setSystemFilterType(SystemFilter filter,
                                String newType)
                         throws Exception
Sets a filter's type. This is better than calling filter.setType(String) directly as it saves the filter to disk after.

A filter's type is an arbitrary string that is not interpreted or used by the base framework. This is for use entirely by tools who wish to support multiple types of filters and be able to launch unique actions per type, say.

Specified by:
setSystemFilterType in interface SystemFilterPoolManager
Throws:
Exception

copySystemFilter

public SystemFilter copySystemFilter(SystemFilterPool targetPool,
                                     SystemFilter oldFilter,
                                     String newName)
                              throws Exception
Copy a system filter to a pool in this or another filter manager.

Specified by:
copySystemFilter in interface SystemFilterPoolManager
Throws:
Exception

moveSystemFilter

public SystemFilter moveSystemFilter(SystemFilterPool targetPool,
                                     SystemFilter oldFilter,
                                     String newName)
                              throws Exception
Move a system filter to a pool in this or another filter manager. Does this by first copying the filter, and only if successful, deleting the old copy.

Specified by:
moveSystemFilter in interface SystemFilterPoolManager
Throws:
Exception

getSystemFilterPosition

public int getSystemFilterPosition(SystemFilter filter)
Return the zero-based position of a SystemFilter object within its container

Specified by:
getSystemFilterPosition in interface SystemFilterPoolManager

moveSystemFilters

public void moveSystemFilters(SystemFilter[] filters,
                              int delta)
                       throws Exception
Move existing filters a given number of positions in the same container. If the delta is negative, they are all moved up by the given amount. If positive, they are all moved down by the given amount.

Does the following:

Specified by:
moveSystemFilters in interface SystemFilterPoolManager
Parameters:
filters - Array of SystemFilters to move.
Throws:
Exception

orderSystemFilters

public void orderSystemFilters(SystemFilterPool pool,
                               String[] names)
                        throws Exception
Order filters according to user preferences.

While the framework has all the code necessary to arrange filters and save/restore that arrangement, you may choose to use preferences instead of this support. In this case, call this method and pass in the saved and sorted filter name list.

Called by someone after restore.

Specified by:
orderSystemFilters in interface SystemFilterPoolManager
Throws:
Exception

addSystemFilterString

public SystemFilterString addSystemFilterString(SystemFilter filter,
                                                String newString)
                                         throws Exception
Append a new filter string to the given filter's list

Does the following:

Specified by:
addSystemFilterString in interface SystemFilterPoolManager
Throws:
Exception

addSystemFilterString

public SystemFilterString addSystemFilterString(SystemFilter filter,
                                                String newString,
                                                int position)
                                         throws Exception
Insert a new filter string to the its filters' list, at the given zero-based position

Does the following:

Specified by:
addSystemFilterString in interface SystemFilterPoolManager
Throws:
Exception

removeSystemFilterString

public boolean removeSystemFilterString(SystemFilter filter,
                                        String oldString)
                                 throws Exception
Delete a filter string from the given filter's list

Does the following:

Specified by:
removeSystemFilterString in interface SystemFilterPoolManager
Returns:
true if given string was found and hence was deleted.
Throws:
Exception

removeSystemFilterString

public boolean removeSystemFilterString(SystemFilter filter,
                                        SystemFilterString filterString)
                                 throws Exception
Remove a filter string from this filter's list, given its SystemFilterString object.

Does the following:

Specified by:
removeSystemFilterString in interface SystemFilterPoolManager
Returns:
true if the given string existed and hence was deleted.
Throws:
Exception

removeSystemFilterString

public boolean removeSystemFilterString(SystemFilter filter,
                                        int position)
                                 throws Exception
Remove a filter string from the given filter's list, given its zero-based position

Does the following:

Specified by:
removeSystemFilterString in interface SystemFilterPoolManager
Returns:
true if a string existed at the given position and hence was deleted.
Throws:
Exception

updateSystemFilterString

public void updateSystemFilterString(SystemFilterString filterString,
                                     String newValue)
                              throws Exception
Update a filter string's string vale

Does the following:

Specified by:
updateSystemFilterString in interface SystemFilterPoolManager
Throws:
Exception

getSystemFilterStringPosition

public int getSystemFilterStringPosition(SystemFilterString filterString)
Return the zero-based position of a SystemFilterString object within its filter

Specified by:
getSystemFilterStringPosition in interface SystemFilterPoolManager

copySystemFilterString

public SystemFilterString copySystemFilterString(SystemFilter targetFilter,
                                                 SystemFilterString oldFilterString)
                                          throws Exception
Copy a system filter string to a filter in this or another filter pool manager.

Specified by:
copySystemFilterString in interface SystemFilterPoolManager
Throws:
Exception

moveSystemFilterString

public SystemFilterString moveSystemFilterString(SystemFilter targetFilter,
                                                 SystemFilterString oldFilterString)
                                          throws Exception
Move a system filter string to a filter in this or another filter pool manager. Does this by doing a copy operation, then if successful doing a delete operation.

Specified by:
moveSystemFilterString in interface SystemFilterPoolManager
Throws:
Exception

moveSystemFilterStrings

public void moveSystemFilterStrings(SystemFilterString[] filterStrings,
                                    int delta)
                             throws Exception
Move existing filter strings a given number of positions in the same filter If the delta is negative, they are all moved up by the given amount. If positive, they are all moved down by the given amount.

Does the following:

Specified by:
moveSystemFilterStrings in interface SystemFilterPoolManager
Parameters:
filterStrings - Array of SystemFilterStrings to move.
Throws:
Exception

suspendCallbacks

public void suspendCallbacks(boolean suspend)
Suspend callbacks to the provider

Specified by:
suspendCallbacks in interface SystemFilterPoolManager

getSaveFile

public IFile getSaveFile(SystemFilterPool pool)
Return the save file that will be written for the given filter pool. Will depend on this manager's save policy.


save

public void save(SystemFilterPool pool)
          throws Exception
Save the given filter pool to disk. Exactly the scope of the save will depend on this manager's save policy. For example, if the policy is one file per manager, then all pools are saved to disk.

Specified by:
save in interface SystemFilterPoolManager
Throws:
Exception

save

public void save()
          throws Exception
Save all the filter pools to disk. Uses the save policy specified in this manager's factory method.

Specified by:
save in interface SystemFilterPoolManager
Throws:
Exception

saveToOneFile

protected void saveToOneFile()
                      throws Exception
Save this object to disk, into a single file.

Throws:
Exception

restore

public static SystemFilterPoolManager restore(Logger logger,
                                              SystemFilterPoolManagerProvider caller,
                                              IFolder mgrFolder,
                                              String name,
                                              int savePolicy,
                                              SystemFilterNamingPolicy namingPolicy)
                                       throws Exception
Restore the filter pools from disk.

Parameters:
logger - The logging object to log errors to
mgrFolder - folder containing filter pool folders, or single file for that save policy
name - the name of the manager to restore. File name is derived from it when saving to one file.
savePolicy - How to persist filters. See SystemFilterConstants.
namingPolicy - Naming prefix information for persisted data file names.
Returns:
the restored manager, or null if it does not exist. If anything else went wrong, an exception is thrown.
Throws:
Exception

restore

public static SystemFilterPoolManager restore(Logger logger,
                                              SystemFilterPoolManagerProvider caller,
                                              IFolder mgrFolder,
                                              String name,
                                              int savePolicy)
                                       throws Exception
Restore the filter pools from disk, assuming default for prefix of name.

Parameters:
logger - The logging object to log errors to
mgrFolder - folder containing filter pool folders, or single file for that save policy
name - the name of the manager to restore. File name is derived from it when saving to one file.
savePolicy - How to persist filters. See SystemFilterConstants.
Returns:
the restored manager, or null if it does not exist. If anything else went wrong, an exception is thrown.
Throws:
Exception

restoreFromOneFile

protected static SystemFilterPoolManager restoreFromOneFile(Logger logger,
                                                            IFolder mgrFolder,
                                                            String name,
                                                            SystemFilterNamingPolicy namingPolicy)
                                                     throws Exception
Restore filter pools when all are stored in one file

Parameters:
logger - The logging object to log errors to
mgrFolder - The folder containing the file to restore from.
name - The name of the manager, from which the file name is derived.
namingPolicy - Naming prefix information for persisted data file names.
Throws:
Exception

getFolder

public IFolder getFolder()
Return the folder that this manager is contained in.

Specified by:
getFolder in interface SystemFilterPoolManager

resetManagerFolder

public void resetManagerFolder(IFolder newFolder)
Reset the manager folder

Specified by:
resetManagerFolder in interface SystemFilterPoolManager

getSaveFileName

protected static String getSaveFileName(SystemMOFHelpers mofHelpers,
                                        SystemFilterPoolManager manager)
Return the unqualified save file name with the extension .xmi


getRootSaveFileName

protected static String getRootSaveFileName(SystemFilterPoolManager manager)
Return the root save file name without the extension .xmi


getRootSaveFileName

protected static String getRootSaveFileName(SystemFilterNamingPolicy namingPolicy,
                                            String managerName)
Return the root save file name without the extension .xmi


getFolderPath

public static String getFolderPath(IFolder folder)
Return the path of the given folder


derivePoolFolderName

protected String derivePoolFolderName(String poolName)
Derive and return the unqualified folder name for a filter pool, given the pool's name.


getMOFHelpers

public SystemMOFHelpers getMOFHelpers()
Return mof helpers instance.


getMOFHelpers

public static SystemMOFHelpers getMOFHelpers(Logger logger)
Return mof helpers instance given a logging object


getLogger

public Logger getLogger()
Return our logger


setLogger

public void setLogger(Logger logger)
Set our logger


logInfo

public void logInfo(String message)
Helper method for logging information

Parameters:
message - Message to be written to the log file

logWarning

public void logWarning(String message)
Helper method for logging warnings

Parameters:
message - Message to be written to the log file

logError

public void logError(String message,
                     Throwable exception)
Helper method for logging errors (exceptions)

Parameters:
message - Message to be written to the log file
exception - Any exception that generated the error condition, this will be used to print a stack trace in the log file.

logDebugMessage

public void logDebugMessage(String prefix,
                            String message)
Helper method for logging debug messages

Parameters:
message - Message to be written to the log file

logMessage

public void logMessage(String msg)
Deprecated. Use either logInfo, logWarning, logError, or logDebugMessage. This method now calls logInfo.

Helper method for logging trace information


toString

public String toString()

getName

public String getName()
Description copied from interface: SystemFilterPoolManager
Return the name of this manager. This matches the name of the folder, which is the parent of the individual filter pool folders.

Specified by:
getName in interface SystemFilterPoolManager

isSupportsNestedFilters

public boolean isSupportsNestedFilters()
Specified by:
isSupportsNestedFilters in interface SystemFilterPoolManager
Returns:
The value of the SupportsNestedFilters attribute

getPools

public EList getPools()
Specified by:
getPools in interface SystemFilterPoolManager
Returns:
The list of Pools references

eGet

public Object eGet(EStructuralFeature eFeature,
                   boolean resolve)


eIsSet

public boolean eIsSet(EStructuralFeature eFeature)

eSet

public void eSet(EStructuralFeature eFeature,
                 Object newValue)

eUnset

public void eUnset(EStructuralFeature eFeature)

setNameGen

public void setNameGen(String newName)

setSupportsNestedFiltersGen

public void setSupportsNestedFiltersGen(boolean newSupportsNestedFilters)

isSupportsDuplicateFilterStrings

public boolean isSupportsDuplicateFilterStrings()
Specified by:
isSupportsDuplicateFilterStrings in interface SystemFilterPoolManager
Returns:
The value of the SupportsDuplicateFilterStrings attribute

unsetSupportsDuplicateFilterStrings

public void unsetSupportsDuplicateFilterStrings()
Specified by:
unsetSupportsDuplicateFilterStrings in interface SystemFilterPoolManager

isSetSupportsDuplicateFilterStrings

public boolean isSetSupportsDuplicateFilterStrings()
Specified by:
isSetSupportsDuplicateFilterStrings in interface SystemFilterPoolManager
Returns:
true if the SupportsDuplicateFilterStrings attribute has been set

isSingleFilterStringOnly

public boolean isSingleFilterStringOnly()

Specified by:
isSingleFilterStringOnly in interface SystemFilterPoolManager
Returns:
the value of the 'Single Filter String Only' attribute.
See Also:
SystemFilterPoolManager.setSingleFilterStringOnly(boolean), FiltersPackage.getSystemFilterPoolManager_SingleFilterStringOnly()

setSingleFilterStringOnly

public void setSingleFilterStringOnly(boolean newSingleFilterStringOnly)

Specified by:
setSingleFilterStringOnly in interface SystemFilterPoolManager
Parameters:
newSingleFilterStringOnly - the new value of the 'Single Filter String Only' attribute.
See Also:
SystemFilterPoolManager.isSingleFilterStringOnly()

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.