Skip to end of metadata
Go to start of metadata

Introduction

MidPoint provides several sets of built-in functions for scripting expressions. Although the scripting expressions can use full potential of the scripting language and all the associated libraries there are some things that can are commonly used in deployments. These are either common for many IDM deployments such as string normalization and conversion or such functions are specific to the way how midPoint works. Either way there are several function libraries that are accessible from all the scripting environments that midPoint supports.

Each function library has its own "handle" that is used to access the functions. There are generally two flavors of library function invocation:

 

  • Invocation for generic scripting environments (Groovy, JavaScript, ...) which uses simple variable name to access the functions. The following code snippet shows Groovy syntax for invocation of function norm in library identified by variable basic. The variable names used as library handles are pre-defined. They are specified in the following text.
  • Invocation for XML-based languages (XPath) which uses XML namespace to access the functions. Usual namespace and namespece prefix handling applies. Following XML snippet illustrates invocation of function norm in a library identified by namespace URI http://midpoint.evolveum.com/xml/ns/public/function/basic-2

Basic Library

Basic function library provides very basic functions for string operations, object property retrieval, etc. These are simple, efficient stand-alone functions.

Documentation and Source Code

TODO

VersionInterface JavaDocImplementation Source Code
3.6.1
(latest release)
Temporarily unavailable due to Java 8 javadoc issues.https://github.com/Evolveum/midpoint/blob/v3.6.1/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.java
3.6Temporarily unavailable due to Java 8 javadoc issues.https://github.com/Evolveum/midpoint/blob/v3.6/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.java
3.5Temporarily unavailable due to Java 8 javadoc issues.https://github.com/Evolveum/midpoint/blob/v3.5/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.java
3.4.1http://www.evolveum.com/downloads/midpoint/3.4.1/midpoint-3.4.1-javadoc/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.4.1/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.java
3.4http://www.evolveum.com/downloads/midpoint/3.4/midpoint-3.4-javadoc/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.4/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.java
3.3.1http://www.evolveum.com/downloads/midpoint/3.3.1/midpoint-3.3.1-javadoc/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.3.1/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.java
3.3http://www.evolveum.com/downloads/midpoint/3.3/midpoint-3.3-javadoc/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.3/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.java
3.2http://www.evolveum.com/downloads/midpoint/3.2/midpoint-3.2-javadoc/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.2/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.java
3.1.1http://www.evolveum.com/downloads/midpoint/3.1.1/midpoint-3.1.1-javadoc/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.1.1/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.java
3.1http://www.evolveum.com/downloads/midpoint/3.1/midpoint-3.1-javadoc/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.1/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.java
3.0http://www.evolveum.com/downloads/midpoint/3.0/midpoint-3.0-javadoc/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.0/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.java
master
(development version)
http://athena.evolveum.com/builds/master/latest/javadoc/com/evolveum/midpoint/common/expression/functions/BasicExpressionFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/master/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/BasicExpressionFunctions.java

Logging Library

Logging library provides access to logging functions. The functions may be used to log data to the midPoint system logs. Such functions are used mostly for diagnostics and troubleshooting.

All functions in this library log an entry into the system logs. Ordinary midPoint logging system is used. The log entries are recorded using com.evolveum.midpoint.expression logger. The the functions have arguments using the SLF4J style: The first argument is a format string. Each occurrence of {} in the format string is replaced with the argument that follows the format string. E.g. following Groovy code will produce ERROR log record "The foo is broken, bar is to blame" assuming that resource=foo and reason=bar.

Functions:

  • error
  • warn
  • infoe
  • debug
  • trace

Please see Log Levels page for description of the usual meaning and usage of individual log levels in midPoint.

Documentation and Source Code

TODO

VersionInterface JavaDocImplementation Source Code
3.6.1
(latest release)
Temporarily unavailable due to Java 8 javadoc issues.https://github.com/Evolveum/midpoint/blob/v3.6.1/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.java
3.6Temporarily unavailable due to Java 8 javadoc issues.https://github.com/Evolveum/midpoint/blob/v3.6/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.java
3.5Temporarily unavailable due to Java 8 javadoc issues.https://github.com/Evolveum/midpoint/blob/v3.5/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.java
3.4.1http://www.evolveum.com/downloads/midpoint/3.4.1/midpoint-3.4.1-javadoc/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.4.1/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.java
3.4 LTShttp://www.evolveum.com/downloads/midpoint/3.4/midpoint-3.4-javadoc/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.4/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.java
3.3.1http://www.evolveum.com/downloads/midpoint/3.3.1/midpoint-3.3.1-javadoc/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.3.1/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.java
3.3http://www.evolveum.com/downloads/midpoint/3.3/midpoint-3.3-javadoc/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.3/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.java
3.2http://www.evolveum.com/downloads/midpoint/3.2/midpoint-3.2-javadoc/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.2/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.java
3.1.1http://www.evolveum.com/downloads/midpoint/3.1.1/midpoint-3.1.1-javadoc/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.1.1/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.java
3.1http://www.evolveum.com/downloads/midpoint/3.1/midpoint-3.1-javadoc/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.1/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.java
3.0http://www.evolveum.com/downloads/midpoint/3.0/midpoint-3.0-javadoc/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.0/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.java
master
(development version)
http://athena.evolveum.com/builds/master/latest/javadoc/com/evolveum/midpoint/common/expression/functions/LogExpressionFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/master/model/model-common/src/main/java/com/evolveum/midpoint/model/common/expression/functions/LogExpressionFunctions.java

MidPoint Library

Main article: MidPoint Script Library

MidPoint function library provides access to midPoint internals. It provides complex functions that contain IDM-specific and midPoint-specific logic.

Documentation and Source Code

VersionInterface JavaDocImplementation Source Code

3.6.1
(latest release)

Temporarily unavailable due to Java 8 javadoc issues.https://github.com/Evolveum/midpoint/blob/v3.6.1/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/MidpointFunctionsImpl.java

3.6

Temporarily unavailable due to Java 8 javadoc issues.https://github.com/Evolveum/midpoint/blob/v3.6/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/MidpointFunctionsImpl.java

3.5

Temporarily unavailable due to Java 8 javadoc issues.https://github.com/Evolveum/midpoint/blob/v3.5/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/MidpointFunctionsImpl.java

3.4.1

http://www.evolveum.com/downloads/midpoint/3.4.1/midpoint-3.4.1-javadoc/com/evolveum/midpoint/model/api/expr/MidpointFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.4.1/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/MidpointFunctionsImpl.java

3.4 LTS

http://www.evolveum.com/downloads/midpoint/3.4/midpoint-3.4-javadoc/com/evolveum/midpoint/model/api/expr/MidpointFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.4/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/MidpointFunctionsImpl.java

3.3.1

http://www.evolveum.com/downloads/midpoint/3.3.1/midpoint-3.3.1-javadoc/com/evolveum/midpoint/model/api/expr/MidpointFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.3.1/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/MidpointFunctionsImpl.java

3.3

http://www.evolveum.com/downloads/midpoint/3.3/midpoint-3.3-javadoc/com/evolveum/midpoint/model/api/expr/MidpointFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.3/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/MidpointFunctionsImpl.java

3.2

http://www.evolveum.com/downloads/midpoint/3.2/midpoint-3.2-javadoc/com/evolveum/midpoint/model/api/expr/MidpointFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.2/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/MidpointFunctionsImpl.java

3.1.1

http://www.evolveum.com/downloads/midpoint/3.1.1/midpoint-3.1.1-javadoc/com/evolveum/midpoint/model/api/expr/MidpointFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.1.1/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/MidpointFunctionsImpl.java

3.1

http://www.evolveum.com/downloads/midpoint/3.1/midpoint-3.1-javadoc/com/evolveum/midpoint/model/api/expr/MidpointFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.1/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/MidpointFunctionsImpl.java

3.0

http://www.evolveum.com/downloads/midpoint/3.0/midpoint-3.0-javadoc/com/evolveum/midpoint/model/api/expr/MidpointFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/v3.0/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/MidpointFunctionsImpl.java
master
(development version)
http://athena.evolveum.com/builds/master/latest/javadoc/com/evolveum/midpoint/model/api/expr/MidpointFunctions.htmlhttps://github.com/Evolveum/midpoint/blob/master/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/MidpointFunctionsImpl.java
  • No labels