LogoLogo
Home
Core Platform
Core Platform
  • Introduction
    • Overview
    • Use Cases
    • Architecture
    • Built with ML & AI
    • Quick Start
  • Examples
    • Training Examples
      • API Flow Examples
      • Microservice Examples
      • UI Example
      • Exercise: Hello World API
      • Exercise: Test State
      • Exercise: Test UI
    • Exercise: To-do List
      • To-do List Runner
      • To-do List Gateway
      • To-do List UI
      • To-do List Query
  • Troubleshooting
    • Rierino Packages
    • Release Notes
    • Useful Checks
    • Error Codes
  • Devops
    • Overview
    • API Flows
      • Using the Saga Screen
      • Defining a Saga
      • Configuring Saga Steps
        • Event Step
        • Transform Step
          • Transform Classes
        • Condition Step
          • Condition Classes
        • Step Link
      • Injecting Variables
    • Microservices
      • Runners
        • Using the Runner Screen
        • Defining a Runner
        • Managing Runner Settings
        • Adding Runner Elements
        • Deploying Runners
          • Spring Runners
          • Samza Runners
          • Camel Runners
      • Elements
        • Systems
        • State Managers
          • Typical Use Cases
          • State Data Structure
          • Local States
            • In-Memory Map
            • Caffeine Cache
            • Samza Based
            • Lucene Based
            • Single File
            • Multiple Files
            • Selected IDs Map
            • Indexed Map
          • Shared States
            • MongoDB Collection
            • Jooq (SQL) Table
            • Redis Map
            • Couchbase Collection
            • Elasticsearch Index
            • Elasticsearch Joined
            • Etcd Namespace
          • Specialized States
            • CRUD Service
            • Odata Service
          • State Coordinators
            • Lazy Cache Coordinator
            • Event Store Coordinator
            • Write thru Coordinator
          • Loading Strategies
          • ID Generators
        • Listeners
        • Query Managers
          • MongoDB
          • Elasticsearch
          • Lucene
          • SQL Based
          • Odata Service
        • Handlers
          • Core Handlers
            • Write Data
            • Read Data
            • Query Data
            • Apply Rules
            • Call Rest API
            • Generate Text/Html
            • Parse Html
            • Generate Secrets
            • Orchestrate User Task
            • Perform File Operation
            • Run Shell Command
            • Send/Receive Emails
          • Custom Code Handlers
            • Run Scripts
            • Run Java Code
            • Run Java Package
          • Flow Handlers
            • Orchestrate Saga
            • Loop Each Entry
            • Run Multiple Steps
            • Buffer Payloads
            • Merge Parallel Steps
            • Log Event
            • Send Event
            • Validate Event
            • Transform Event
            • Perform DB Transaction
            • Trigger Runner Command
            • Do Nothing
            • Modify Role Data
            • Enrich Role Data
            • Convert Pulse to Journal
          • Gateway Handlers
            • Authenticate
              • No Authentication
              • State Based
              • Keycloak Based
            • Sessionize
          • Specialized Handlers
            • Apply Advanced Rules
            • Calculate Real-time Metrics
            • Score ML Models
            • Score LangChain Models
            • Service MCP Requests
            • Service A2A Requests
            • Consume Web of Things
            • Perform Text Embedding
            • Run Python Procedure
            • Generate Excel
            • Generate PDF
            • Call SOAP API
            • Integrate with Camel
        • Actions
        • Streams
          • Kafka Topic
          • CDC Feed
          • Camel Component
        • Roles
        • Generic Settings
        • Global Settings
      • Deployments
        • Defining a Deployment
        • Alternative Loaders
    • Gateway & Security
      • Gateway Servers
        • Gateway Systems
        • Gateway Channels
        • Gateway Services
        • Gateway Tokens
      • APIs
        • OpenAPI Specification
        • Response Formats
    • Administration
      • Managing Deployments
      • Sending Commands
      • Streaming Messages
      • Migrating Assets
    • Batch Tasks
      • Python Processes
      • Python Iterators
      • Python Processors
    • Pro-Code
      • Custom Handlers
      • Custom State Managers
      • Custom Query Managers
      • Custom CDC Managers
  • Design
    • Overview
    • User Interface
      • Apps
      • UIs
        • Listers
        • Widgets
          • Value Widgets
          • Array Widgets
          • Object Widgets
          • Indirect Widgets
          • Atom Widgets
        • Menus
          • Lister Menu Actions
          • Selection Menu Actions
          • Editor Menu Actions
          • Widget Menu Actions
          • Custom Menu Actions
          • RAI Menu Actions
        • Extended Scope
          • Conditional Display
          • Data Context
          • Extra Data
          • Default Item
          • Extra Events
      • Options
      • Translations
      • Icons
      • Styles
      • Components
    • API Mapping
    • Data Schema
      • Common Data
  • Configuration
    • Overview
    • Queries
      • Query Types
      • Query Platforms
        • MongoDB Queries
        • Odata Queries
        • SQL Queries
        • Elasticsearch Queries
        • Lucene Queries
        • Siddhi Queries
    • Business Rules
      • Drools Rules
    • Dynamic Handlers
  • Data Science
    • Overview
    • ML Models
      • Scheduler Platforms
        • Airflow Scheduler
    • GenAI Models
    • MCP Servers
    • Complex Event Processing
      • Siddhi Data Flows
    • Data Visualizations
    • Customizations
  • EXTENSIONS
    • JMESPath
    • Handlebars
Powered by GitBook

© Rierino Software Inc. 2025. All rights reserved.

On this page
  • Payload Manipulation
  • Add Value To Payload
  • Transform Payload with JMESPath
  • Transform Payload Array with JMESPath
  • Add Expression To Payload
  • Lookup & Map within Payload
  • Use Script on Payload
  • Generate ID in Payload
  • Copy In Payload
  • Remove From Payload
  • Do Nothing
  • Metadata Access
  • Add Error To Payload
  • Add Metadata To Payload
  • Append Partition To Payload
  • Add Event Parameter To Payload
  • Add Request Id To Payload
  • Set Event Result
  • Add Claims To Payload
  1. Devops
  2. API Flows
  3. Configuring Saga Steps
  4. Transform Step

Transform Classes

PreviousTransform StepNextCondition Step

Last updated 3 months ago

It is possible to define any number and type of new transformation classes with specialized configurations. Rierino is shipped with the following default classes:

Payload Manipulation

Add Value To Payload

This class(com.rierino.handler.transform.AddToPayloadTransform) extends a selected payload element with a constant Json node provided as string.

Parameter
Definition
Example

element

Json path of payload element to create / extend

parameters

value

Json string to extend element with

{"test":false}

Transform Payload with JMESPath

This class(com.rierino.handler.transform.JMESPayloadTransform) transforms event payload using a JMESPath pattern.

Parameter
Definition
Example

pattern

JMESPath pattern to calculate value

{language:parameters.language, currency:parameters.currency}

patternElement

Json path to payload element which defines JMESPath pattern to calculate value

parameters.pattern

extend

Whether calculated value should replace payload or extend it

true

store

Whether JMESPath expression should be cached for future executions (defaults to true)

false

inputElement

Json path for the input element to transform

parameters

outputElement

Json path to output calculated results

result

errorAs

Element to include error message on, if the pattern fails

error

Transform Payload Array with JMESPath

This class(com.rierino.handler.transform.JMESArrayPayloadTransform) transforms array elements of an event payload using a JMESPath pattern with access to a parent data element as well (which is not supported by JMESPath out of box).

Parameter
Definition
Example

pattern

JMESPath pattern to calculate value

{parentValue: data.value, entryValue: entry.value}

patternElement

Json path to payload element which defines JMESPath pattern to calculate value

parameters.pattern

dataElement

Json path to payload element which will populate "data" field in JMES input

parameters.parent

arrayElement

Json path to payload element which is an array will populate "entry" field in JMES input with each of its entries

parameters.results

entryPath

Json path to extract specific element from array "entry" to simplify JMESPath patterns

data.main

filter

Whether JMESPath returns a boolean value for filtering arrayElement only (defaults to true)

false

excludeNulls

Whether null results should be excluded from JMESPath results (defaults to true)

false

outputElement

Json path to output results on event payload (null replaces arrayElement itself)

output

store

Whether JMESPath expression should be cached for future executions (defaults to true)

false

errorAs

Element to include error message on, if the pattern fails

error

Add Expression To Payload

This class(com.rierino.handler.transform.AddExpToPayloadTransform) adds the result of an expression to event payload.

Parameter
Definition
Example

element

Json path of payload element to use / extend

date

as

Json path to return results in (null for replacing element)

result

expression

Expression to execute

now

This transformation allows additional parameters based on the expression value:

replace

Replaces given char sequence in element with a new char sequence.

Parameter
Definition
Example

target

Text to find

old

replacement

Text to replace with

new

replaceAll

Replaces all matchings of a regex in element with a new char sequence.

Parameter
Definition
Example

target

Regex to find

[0-9]

replacement

Text to replace with

0

regex

Replaces named parameters found from a regex in element with given pattern.

Parameter
Definition
Example

target

Regex to find

/source/(?<folder>\\w+)/(?<file>\\w+)

replacement

Pattern to replace with

/target/${folder}/${file}

substring

Returns substring from element.

Parameter
Definition
Example

beginIndex

Char index to start from

0

endIndex

Char index to end with (null means till the end)

5

split

Splits element into an array with a given delimiter.

Parameter
Definition
Example

delimiter

Regex delimiter to use

,

join

Joins an element array with a given delimiter.

Parameter
Definition
Example

delimiter

Delimiter to join elements

,

concat

Concatenates element with a prefix and/or suffix.

Parameter
Definition
Example

prefix

Prefix to append

pre_

suffix

Suffix to append

_post

kv

Performs a lookup for configuration parameter value - such as secrets or connection parameters.

Parameter
Definition
Example

parameter

Parameter reference

rierino.mongo.main.uri

type

Lookup/injection type (static, dynamic, both)

static

Lookup & Map within Payload

This class(com.rierino.handler.transform.LookupPayloadTransform) traverses a list of ids in event payload and enriches them with another list matching on ids.

Parameter
Definition
Example

lookup

Json path of payload element to lookup from

lookup

lookupId

Name of id fields in lookup array

id

traverse

Json traverse expression of payload element to enrich

list.*

traverseId

Name of id fields in traverse entries

id

as

Name of field to inject lookup values in traversed path (null for merged results)

-

Use Script on Payload

This class(com.rierino.handler.transform.ScriptingPayloadTransform) allows using scripting languages to transform event payload.

Parameter
Definition
Example

script

Full scripting code returning output (or editing event payload directly)

value * 2

language

Scripting engine to use (if helperClass is not defined)

groovy

helperClass

Java class name for the scripting engine helper

com.rierino.handler.util.helper.JavaScriptHelper

nodePath

Json path to the input node in event payload

parameters

paramsPath

Key-value pairs for passing multiple variables from different Json paths

foo=data.in,bar=data.val

outputPath

Json path to output on event payload

data.output

Generate ID in Payload

Parameter
Definition
Example

element

Json path to add generated id on

id

generator

ID generator class

com.rierino.handler.util.generator.NumberIDGenerator

generatorId

assigned to generator

product_gen

version

ID generator version to use

1

*

All additional parameters that are applicable for the ID generator class

numberGenerator=com.rierino.handler.util.generator.EpochNumberGenerator

ID generators are cached inside GenerateIDTransform by generatorId value, so, parameter changes are not applied unless the service is restarted or version parameter value is updated. Both actions create a new instance of the generator.

Copy In Payload

This class(com.rierino.handler.transform.CopyInPayloadTransform) copies data from one section of payload to another.

Parameter
Definition
Example

from

Json path to copy from

parameters.filters

to

Json path to copy to

filters

move

Whether element should be moved instead of a copy

true

Remove From Payload

This class(com.rierino.handler.transform.ReducePayloadTransform) removes list of elements from event payload.

Parameter
Definition
Example

list

Comma separated list of Json paths to remove

product.metadata,product.internal

Do Nothing

Thıs class(com.rierino.handler.transform.NoopTransform) performs no action on the event, and is typically used as a placeholder.

Metadata Access

Add Error To Payload

This class(com.rierino.handler.transform.AddErrorToPayloadTransform) copies event error details to event payload.

Parameter
Definition
Example

element

Json path of payload element to create / extend

error

Add Metadata To Payload

This class(com.rierino.handler.transform.AddMetaToPayloadTransform) copies request metadata to event payload as "meta" element.

Append Partition To Payload

This class(com.rierino.handler.transform.AppendPartitionToPayloadTransform) appends partition digits from a payload element to another payload element. Typically used for creating a linked entity with the same partition as a master entity.

Parameter
Definition
Example

from

Json path for id to get partition digits from

guest.id

to

Json path to add partition digits to

basket.id

char

Delimiter before the partition digits

-

Add Event Parameter To Payload

This class(com.rierino.handler.transform.EventParameterToPayloadTransform) copies list of elements from full event contents to payload. Parameters defined for this transform step act as key value pairs, where keys are the target payload paths and values are the event source content paths (e.g. sessionId=requestMeta.sessionId).

Add Request Id To Payload

This class(com.rierino.handler.transform.RequestIdToPayloadTransform) adds requestId to event payload.

Parameter
Definition
Example

element

Json path of payload element to create / extend

requestId

Set Event Result

This class(com.rierino.handler.transform.SetResultTransform) resets the result data of an event, typically used for returning specific contents in case of an error.

Parameter
Definition
Example

status

Result status to set for the event

FAIL

errorPattern

JMES pattern to apply on event payload to return error contents

{"failId": id}

errorCode

Error code to return for the event

123

errorMessage

Error message to return for the event

Could not find requested id

errorHttp

Http error code to return for the event

404

Add Claims To Payload

This class(com.rierino.handler.transform.AddClaimsToPayloadTransform) adds claims from request metadata (if configured in gateway token) to event payload.

Parameter
Definition
Example

element

Json path of payload element to create / extend (claims as default)

user

This class(com.rierino.handler.transform.GenerateIDTransform) uses an to create a unique ID inside the payload.

ID generator
JMESPath — JMESPath
JMESPath Page