Service for the querying of OMERO metadata based on creation and
modification time. Currently supported types for querying include:
Return maps
The map return values will be indexed by the short type name above:
Project,
Image, ... All keys which are passed in the
StringSet argument will be included in the returned map, even if
they have no values. A default value of 0 or the empty list \[]
will be used.
The only exception to this rule is that the null or empty StringSet
implies all valid keys.
Parameters
All methods take a omero::sys::Parameters object and will apply the filter
object for paging through the data in order to prevent loading too
many objects. If the parameters argument is null or no paging is activated,
then the default will be: OFFSET=0, LIMIT=50. Filter.ownerId and
Filter.groupId will also be AND'ed to the query if either value is present.
If both are null, then the current user id will be used. To retrieve for
all users, use
ownerId == rlong(-1)
and
groupId == null
.
Merging
The methods which take a StringSet and a Parameters object, also
have a
bool merge argument. This argument defines whether or
not the LIMIT applies to each object independently
(
\["a","b"] @ 100 == 200
) or merges the lists together
chronologically (
\["a","b"] @ 100 merged == 100
).
Time used
Except for Image, IObject.details.updateEvent is used in all cases
for determining most recent events. Images are compared via
Image.acquisitionDate which is unlike the other properties is
modifiable by the user.
A typical invocation might look like (in Python):
timeline = sf.getTimelineService()
params = ParametersI().page(0,100)
types = \["Project","Dataset"])
map = timeline.getByPeriod(types, params, False)
At this point, map will not contain more than 200 objects.
This service is defined only in Blitz and so no javadoc is available
in the ome.api package.
TODOS: binning, stateful caching, ...