v0.0.29
Pre-release
Pre-release
The changes included in this release are as follows:
- add
tundra.bytes:transcode
for converting abyte[]
containing text data from one character set to another - add
tundra.document:flip
which flips a givenIData
document so that the keys become the values and the values become the keys - add
tundra.document:legalize
for converting to legal Java identifiers either the keys, values, or both keys and values of a givenIData
document - add
tundra.document:lowercase
for converting to lowercase either the keys, values, or both in a givenIData
document - add
tundra.document:prefix
for prepending a given prefix to the keys, or values, or both in a givenIData
document - add
tundra.document:remove
for removing a pattern from either the values, keys, or both keys and values of a givenIData
document - add
tundra.document:replace
for replacing a pattern in either the values, keys, or both keys and values of a givenIData
document - add
tundra.document:suffix
for appending a given suffix to the keys, or values, or both in a givenIData
document - add
tundra.document:unprefix
for removing a given prefix from the keys, or values, or both in a givenIData
document - add
tundra.document:unsuffix
for removing a given suffix from the keys, or values, or both in a givenIData
document - add
tundra.document:uppercase
for converting to uppercase either the keys, values, or both in a givenIData
document - add
tundra.integer:rebase
for converting an integer string from one radix to another - add
tundra.list.document:flip
which flips a givenIData[]
document list so that the keys become the values and the values become the keys - add
tundra.list.document:lowercase
for converting to lowercase either the keys, values, or both in a givenIData[]
document list - add
tundra.list.document:prefix
for prepending a given prefix to the keys, or values, or both in a givenIData[]
document list - add
tundra.list.document:remove
for removing a pattern from either the values, keys, or both keys and values of a givenIData[]
document list - add
tundra.list.document:replace
for replacing a pattern in either the values, keys, or both keys and values of a givenIData[]
document list - add
tundra.list.document:suffix
for appending a given suffix to the keys, or values, or both in a givenIData[]
document list - add
tundra.list.document:trim
for trimming leading and trailing whitespace from either the keys, values, or both, in a givenIData[]
document list - add
tundra.list.document:unprefix
for removing a given prefix from the keys, or values, or both in a givenIData[]
document list - add
tundra.list.document:unsuffix
for removing a given suffix from the keys, or values, or both in a givenIData[]
document list - add
tundra.list.document:uppercase
for converting to uppercase either the keys, values, or both in a givenIData[]
document list - add
tundra.list.exception:raise
for throwing a new exception whose message is the concatenation of the messages from the given list of exceptions - add
tundra.list.object:create
for creating a new empty array with a given length for the given component class - add
tundra.message:connect
to allow a client to test connecting to and authenticating with Integration Server - add
tundra.soap.fault:handle
for handling SOAP faults by throwing an exception - add
tundra.stream:transcode
for converting ajava.io.InputStream
containing text data from one character set to another - add
tundra.string:legalize
for converting a given string to a legal Java identifier - add
tundra.uuid:generate
for generating a new UUID - change
tundra.bytes:normalize
to return the$encoding
used - change
tundra.collection.list.document:append
to not recurse$items
structure and instead only use the top-level objects instead - change
tundra.collection.list.document:insert
to not recurse$items
structure and instead only use the top-level objects instead - change
tundra.collection.list.document:prepend
to not recurse$items
structure and instead only use the top-level objects instead - change
tundra.collection.list.object:append
to not recurse$items
structure and instead only use the top-level objects instead - change
tundra.collection.list.object:insert
to not recurse$items
structure and instead only use the top-level objects instead - change
tundra.collection.list.object:prepend
to not recurse$items
structure and instead only use the top-level objects instead - change
tundra.collection.list.string:append
to not recurse$items
structure and instead only use the top-level objects instead - change
tundra.collection.list.string:insert
to not recurse$items
structure and instead only use the top-level objects instead - change
tundra.collection.list.string:prepend
to not recurse$items
structure and instead only use the top-level objects instead - change
tundra.configuration:get
to support resolving variable subsitution%key%
substrings against the configuration itself, allowing for configuration values to be built from other configuration values to reduce repetition - change
tundra.content.retrieve:file
to attempt to move a file that has failed to process back to its original location and name so that it will be retried next time the service runs, and to return any exceptions encountered while processing in the output pipeline - change
tundra.content.retrieve:file
to include$content.length
in the input pipeline when calling the file processing service - change
tundra.content.retrieve:file
to use a newly generated UUID for the suffix used on files while processing - change
tundra.content:deliver
to drop$encoding
after call totundra.xml:emit
- change
tundra.content:retrieve
to rethrow any exceptions returned by the handler service - change
tundra.content:retrieve
to rethrow exceptions encountered during FTP retrievals - change
tundra.content:retrieve
to support FTP and FTPS file retrieval - change
tundra.document:get
to replace$default.object
and$default.string
inputs with$value.default
- change
tundra.document:get
to return$value.list
when the value associated with the given$key
is a list - change
tundra.document:log
to drop unused variables - change
tundra.duration:format
to support a list of possible duration patterns used to parse the input duration string, which is useful when the exact pattern is not known - change
tundra.file:process
to support specifying whether to rethrow exceptions encountered while processing via$raise?
input argument - change
tundra.http.response:accept
to drop$encoding
after call totundra.bytes:normalize
- change
tundra.http.route
implementation to returnX-Response-Duration
header in HTTP responses - change
tundra.list.object:partition
output$results/remainder
to be optional - change
tundra.message:receive
to extract the response handling code intotundra.support.receive:respond
- change
tundra.message:receive
to usetundra.service:invoke
instead oftundra.service:ensure
for a simpler implementation - change
tundra.message:retrieve
to support FTP and FTPS file retrieval - change
tundra.object:coalesce
to not recurse$operands
structure and only work on top-level objects instead - change
tundra.object:coalesce
to support arbitrarily specified inputs for coalescing - change
tundra.pipeline:log
to drop unused variables - change
tundra.schema.content.retrieve:handler
to support handler service optionally returning a list ofjava.lang.Throwable
exception objects thrown while processing the retrieved content - change
tundra.schema.content.retrieve:processor
to include new optional input$content.length
- change
tundra.service:benchmark
to exclude their input arguments from the subsequent invocation pipeline - change
tundra.service:callstack
to return$caller.initiator
, which is the top-level service in the current call stack - change
tundra.service:defer
to exclude their input arguments from the subsequent invocation pipeline - change
tundra.service:ensure
to exclude their input arguments from the subsequent invocation pipeline - change
tundra.service:ensure
to support catch and finally specific pipelines - change
tundra.service:fork
to exclude their input arguments from the subsequent invocation pipeline - change
tundra.service:invoke
to exclude their input arguments from the subsequent invocation pipeline - change
tundra.service:invoke
to log unthrown exceptions to the error log - change
tundra.stream:normalize
to return the$encoding
used - change
tundra.string:coalesce
to not recurse$operands
structure and only work on top-level objects instead - change
tundra.string:coalesce
to support arbitrarily specified inputs for coalescing - change
tundra.xml:emit
to return the$encoding
used - change
tundra:log
to drop unused variables - deprecate
tundra.document.key:lowercase
, usetundra.document:lowercase
instead - deprecate
tundra.document.key:normalize
, usetundra.document:legalize
instead - deprecate
tundra.document.key:remove
, usetundra.document:remove
instead - deprecate
tundra.document.key:replace
, usetundra.document:replace
instead - deprecate
tundra.document.key:trim
, usetundra.document:trim
instead - deprecate
tundra.document.key:uppercase
, usetundra.document:uppercase
instead - deprecate
tundra.document.value:lowercase
, usetundra.document:lowercase
instead - deprecate
tundra.document.value:remove
, usetundra.document:remove
instead - deprecate
tundra.document.value:replace
, usetundra.document:replace
instead - deprecate
tundra.document.value:trim
, usetundra.document:trim
instead - deprecate
tundra.document.value:uppercase
, usetundra.document:uppercase
instead - deprecate
tundra.id:generate
, usetundra.uuid:generate
instead - deprecate
tundra.id:normalize
, usetundra.string:legalize
instead - deprecate
tundra.list.document.key:lowercase
, usetundra.list.document:lowercase
instead - deprecate
tundra.list.document.key:remove
, usetundra.list.document:remove
instead - deprecate
tundra.list.document.key:replace
, usetundra.list.document:replace
instead - deprecate
tundra.list.document.key:trim
, usetundra.list.document:trim
instead - deprecate
tundra.list.document.key:uppercase
, usetundra.list.document:uppercase
instead - deprecate
tundra.list.document.value:lowercase
, usetundra.list.document:lowercase
instead - deprecate
tundra.list.document.value:remove
, usetundra.list.document:remove
instead - deprecate
tundra.list.document.value:replace
, usetundra.list.document:replace
instead - deprecate
tundra.list.document.value:trim
, usetundra.list.document:trim
instead - deprecate
tundra.list.document.value:uppercase
, usetundra.list.document:uppercase
instead - fix
tundra.content.deliver:http
to correctly return the HTTP response body in the$response
output parameter - fix
tundra.content.retrieve:ftp
to correctly count processed and skipped files - fix
tundra.datetime:add
$datetime.pattern
to be a picklist - fix
tundra.document:translate
to support the service input and output variable names for the input and outputIData
document being the same - fix
tundra.http.route
to not log spurious Access Denied errors - fix
tundra.http:client
logged error messages to not include the statementnot found in "com.wm.resources.CoreExcpMsgs"
- fix
tundra.integer:emit
to correctly use the given$radix
when emitting the string result - fix
tundra.list.document:group
service comment typo - fix
tundra.list.document:partition
to not fail output validation when returning an empty remainder list - fix
tundra.list.string:partition
to not fail output validation when returning an empty remainder list - fix
tundra.object:instance
to not throwClassNotFoundException
when given class name does not exist, and instead return false - fix
tundra.service:ensure
to work correctly when no catch and finally pipeline are provided - fix
tundra.string:format
service comment formatting to display correctly in Designer - fix
tundra.string:pad
service comment formatting - fix
tundra.xml:emit
service comment formatting - fix
tundra.yaml:emit
missing description in SERVICES.md
To install, download Tundra-v0.0.29.zip
, copy to IntegrationServer/replicate/inbound
, install the release via the package management web page, and restart Integration Server.