Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

NameDescriptionData types
repositoryInterprets queries issued against repository objects.almost all, except the ones described below
provisioning (connectors)Interprets queries issued against resource objects, i.e. objects that reside on particular resources (AD, LDAP, CSV, ...).ShadowType (some parts of them)
workflow engineInterprets queries issued against work items, because they are kept in Activiti repository.WorkItemType
in-memory evaluatorInterprets queries/filters issued against objects already loaded into memory. Typically used for authorization evaluation.all

...

Let us summarize main differences here.

TODO

Note that "ok" means "fully supported". "N/A" means "not applicable", i.e. not supported at all. The state is current as of midPoint 3.7.1.

FilterRepositoryProvisioning (connectors)WorkflowIn-memory
EqualokRight-side items are not supported. The null right side constant is not supported (
JIRA
serverEvolveum Jira
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId701b45f2-090c-3276-8ac9-f45eedf731bc
keyMID-1460
).
Right-side items are not supported. Only externalId item can be queried.Right-side items are not supported.
Greater, LessokN/AN/AN/A
SubstringokOnly contains mode is supported; startsWith and endsWith ones are not.N/Aok
RefokN/AOnly assigneeRef and candidateRef items can be queried.ok; Additionally, there are two parameters driving the behavior of filters with null oid and targetType: oidNullAsAny and targetTypeNullAsAny. These are not honored by other interpreters yet.
OrgokN/AN/AN/A
InOidokN/AN/Aok
And, Or, NotokokOnly And connective (i.e. conjunction) is supported.ok
TypeokN/AN/Asupported but not much tested
ExistsokN/AN/Aok

General constraint for provisioning queries: It is not possible to mix both on-resource and repository items in one query, e.g. to query for both c:attributes/ri:something and c:intent.

For authoritative information, see FilterInterpreter and related classes (provisioning); and WorkItemProvider class (workflows).

Creating filters

Filters can be created using Java API (traditional or fluent one) or via XML.

...