Filtering lists returned by commands
Use the FilesUtilService commands to filter lists of maps returned by browse commands.
Before you begin
To use administrative commands, you must use the wsadmin client. See Starting the wsadmin client for details.
Many commands ask for IDs as input parameters, such as library IDs, user IDs, policy IDs, and file IDs. You can use commands that take parameters you do know to return data including the ID you are looking for. For example, run FilesMemberService.getByEmail(string email) providing a user's email address and among the data returned is the user's ID. You can also find IDs using feeds. See the Connections API documentation for information on getting ID information using feeds.
About this task
Browse commands, such as FilesLibraryService.browsePersonal
and FilesPolicyService.browse, return List<Map>
java
objects. A List<Map>
object is a list of Map
java
objects. Maps are lists of key/value pairs. For example the FilesLibraryService.browsePersonal
command returns a list of personal libraries. Each library in the
list is a map with a set of keys, and each key is paired with a value.
Every library has the same set of keys, but unique values. Values
are information about the library, such as its title and creation
date.
You filter a list by specifying that it should only return maps that have a specified key with a specified string value, date value, or number value.
Procedure
- Start the wsadmin client.
- Start the
Files Jython script interpreter
using the following command:
execfile("filesAdmin.py")
-
Run the following commands to filter a list of library maps:
- FilesUtilService.filterListByString(List listOfMaps, string filterKey, string regexstringCriteria)
-
Returns maps from a specified list that have a specified key matching a specified regular expression. Use this command to filter
List<Map>
java objects that are returned by any of the browse commands, such as FilesLibraryService.browsePersonal and FilesPolicyService.browse.A map is a list of key/value pairs, for example the FilesLibraryService.browsePersonal command returns a list of personal libraries. Each library in the list is a map with a set of keys, and each key is paired with a value. Every library has the same set of keys, but unique values. Values contain information about the library, such as its title and creation date.
Parameters:- listOfMaps
- A list of maps, for example the result of a command, such as FilesLibraryService.browsePersonal(parameters).
- filterKey
- A key in each map in the list, whose value is compared against the filter criteria.
- regexstringCriteria
- A regular expression represented as a string to match against the filterKey value. For example, "[0-9]+" to match only >= 1 numbers in a row.
The command returns maps from the listOfMaps whose filterKey is the regexstringCriteria value. For example, this command shows only the returned maps whose title values match the expression "John*":FilesUtilService.filterListByString(FilesLibraryService.browsePersonal("title", "true", 1, 25), "title", "John*")
- FilesUtilService.filterListByDate(list listOfMaps, string filterKey, expression)
-
Returns maps from a specified list that have a specified key with a specified date. Use this command to filter
List<Map>
java objects that are returned by any of the browse commands, such as FilesLibraryService.browsePersonal and FilesPolicyService.browse.A map is a list of key/value pairs, for example the FilesLibraryService.browsePersonal command returns a list of personal libraries. Each library is a map with a set of keys, and each key is paired with a value. Every library has the same set of keys, but unique values. Values contain information about the library, such as its title and creation date.
Parameters:- listOfMaps
- A list of maps, for example the result of FilesLibraryService.browsePersonal(parameters).
- filterKey
- A key in each map in the list, whose value is compared against the filter criteria.
- expression
- A string of the form <operator> <date> where <date> is in yyyy-MM-dd format and <operator> is one of the following: > >= == <= <
The command returns maps from the listOfMaps value whose filterKey value is the expression value. For example, this command shows only the returned maps whose creation date is on or later than January 1, 2012:FilesUtilService.filterListByDate(FilesLibraryService.browsePersonal("title", "true", 1, 25), "createDate", "=2010-01-01")
- FilesUtilService.filterListByNumber(List listOfMaps, string filterKey, expression)
-
Returns maps from a specified list that have a specified key with a specified number. Use this command to filter
List<Map>
java objects that are returned by any of the browse commands, such as FilesLibraryService.browsePersonal and FilesPolicyService.browse.A map is a list of key/value pairs, for example the FilesLibraryService.browsePersonal command returns a list of personal libraries. Each library is a map with a set of keys, and each key is paired with a value. Every library has the same set of keys, but unique values. Values contain information about the library, such as its title and creation date.
Parameters:- listOfMaps
- A list of maps, for example the result of FilesLibraryService.browsePersonal(parameters).
- filterKey
- A key in each map in the list, whose value is compared against the filter criteria.
- expression
- A string of the form <operator> <int> where <int> is an integer and <operator> is one of the following: > >= == <= <
The command returns maps from the listOfMaps value whose filterKey value is the expression value. For example, this command shows only the returned maps whosepercentUsed
value (which reflects the percent of the library's available space that is currently used) is 20:FilesUtilService.filterListByNumber(FilesLibraryService.browsePersonal("title", "true", 1, 25), "percentUsed", "==20")
- FilesUtilService.getFileById(string fileID)
-
Returns the file path location of the file identified by a provided file ID. Returns a path even if the file is not in use.
Use this command to find the location of any file stored in the shared file directory. This can be useful when restoring backup versions of data. See the topic Backing up Files data for more information.
- fileID
- The ID of a file in the following standard Universally Unique Identifier (UUID) format: 00000000-0000-0000-0000-000000000000.
For example:FilesUtilService.getFileById("2d93497d-065a-4022ae25-a4b52598d11a")