Skip to content

v0.0.29

Pre-release
Pre-release
Compare
Choose a tag to compare
@lachlan lachlan released this 16 Sep 02:25
· 462 commits to master since this release

The changes included in this release are as follows:

  • add tundra.bytes:transcode for converting a byte[] containing text data from one character set to another
  • add tundra.document:flip which flips a given IData 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 given IData document
  • add tundra.document:lowercase for converting to lowercase either the keys, values, or both in a given IData document
  • add tundra.document:prefix for prepending a given prefix to the keys, or values, or both in a given IData document
  • add tundra.document:remove for removing a pattern from either the values, keys, or both keys and values of a given IData document
  • add tundra.document:replace for replacing a pattern in either the values, keys, or both keys and values of a given IData document
  • add tundra.document:suffix for appending a given suffix to the keys, or values, or both in a given IData document
  • add tundra.document:unprefix for removing a given prefix from the keys, or values, or both in a given IData document
  • add tundra.document:unsuffix for removing a given suffix from the keys, or values, or both in a given IData document
  • add tundra.document:uppercase for converting to uppercase either the keys, values, or both in a given IData document
  • add tundra.integer:rebase for converting an integer string from one radix to another
  • add tundra.list.document:flip which flips a given IData[] 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 given IData[] document list
  • add tundra.list.document:prefix for prepending a given prefix to the keys, or values, or both in a given IData[] document list
  • add tundra.list.document:remove for removing a pattern from either the values, keys, or both keys and values of a given IData[] document list
  • add tundra.list.document:replace for replacing a pattern in either the values, keys, or both keys and values of a given IData[] document list
  • add tundra.list.document:suffix for appending a given suffix to the keys, or values, or both in a given IData[] document list
  • add tundra.list.document:trim for trimming leading and trailing whitespace from either the keys, values, or both, in a given IData[] document list
  • add tundra.list.document:unprefix for removing a given prefix from the keys, or values, or both in a given IData[] document list
  • add tundra.list.document:unsuffix for removing a given suffix from the keys, or values, or both in a given IData[] document list
  • add tundra.list.document:uppercase for converting to uppercase either the keys, values, or both in a given IData[] 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 a java.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 to tundra.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 to tundra.bytes:normalize
  • change tundra.http.route implementation to return X-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 into tundra.support.receive:respond
  • change tundra.message:receive to use tundra.service:invoke instead of tundra.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 of java.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, use tundra.document:lowercase instead
  • deprecate tundra.document.key:normalize, use tundra.document:legalize instead
  • deprecate tundra.document.key:remove, use tundra.document:remove instead
  • deprecate tundra.document.key:replace, use tundra.document:replace instead
  • deprecate tundra.document.key:trim, use tundra.document:trim instead
  • deprecate tundra.document.key:uppercase, use tundra.document:uppercase instead
  • deprecate tundra.document.value:lowercase, use tundra.document:lowercase instead
  • deprecate tundra.document.value:remove, use tundra.document:remove instead
  • deprecate tundra.document.value:replace, use tundra.document:replace instead
  • deprecate tundra.document.value:trim, use tundra.document:trim instead
  • deprecate tundra.document.value:uppercase, use tundra.document:uppercase instead
  • deprecate tundra.id:generate, use tundra.uuid:generate instead
  • deprecate tundra.id:normalize, use tundra.string:legalize instead
  • deprecate tundra.list.document.key:lowercase, use tundra.list.document:lowercase instead
  • deprecate tundra.list.document.key:remove, use tundra.list.document:remove instead
  • deprecate tundra.list.document.key:replace, use tundra.list.document:replace instead
  • deprecate tundra.list.document.key:trim, use tundra.list.document:trim instead
  • deprecate tundra.list.document.key:uppercase, use tundra.list.document:uppercase instead
  • deprecate tundra.list.document.value:lowercase, use tundra.list.document:lowercase instead
  • deprecate tundra.list.document.value:remove, use tundra.list.document:remove instead
  • deprecate tundra.list.document.value:replace, use tundra.list.document:replace instead
  • deprecate tundra.list.document.value:trim, use tundra.list.document:trim instead
  • deprecate tundra.list.document.value:uppercase, use tundra.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 output IData 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 statement not 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 throw ClassNotFoundException 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.