Releases: Permafrost/Tundra
v0.0.8
The changes included in this release are as follows:
- change
tundra.content:discard
to support being wrapped by another service, and being executed using the/soap/rpc
handlers - change
tundra.content:reject
to support being wrapped by another service, and being executed using the/soap/rpc
handlers
To install, download Tundra-v0.0.8.zip
, copy to IntegrationServer/replicate/inbound
, and install the release via the package management web page.
v0.0.7
The changes included in this release are as follows:
- add
tundra.assertion.datetime:equal
and:unequal
services - add
tundra.bool:*
services for manipulating boolean values - add
tundra.content:discard
and:reject
gateway services for successfully receiving and throwing away and rejecting content respectively - add
tundra.datetime:emit
and:parse
services for converting between datetime strings andjava.util.Date
objects - add
tundra.decimal:average
,:maximum
, and:minimum
for calculating the average, maximum, and minimum from a list of decimals - add
tundra.directory:join
to construct a single file path from a parent directory and child path or file - add
tundra.directory:ls
as an alternative to tundra.directory:list for when performance is a priority over ease of use - add
tundra.document:clear
to remove all keys except those specified from the givenIData
document - add
tundra.document:emit
and:parse
for encoding/decodingIData
objects as XML - add
tundra.document:sort
to sort anIData
by its keys in natural ascending order - add
tundra.document:squeeze
to trim all leading and trailing whitespace, then convert empty strings to null, then compact theIData
document by removing all null values - add
tundra.file:match
to check if a given file matches a regular expression or wildcard pattern - add
tundra.integer:average
,:maximum
, and:minimum
for calculating the average, maximum, and minimum from a list of integers - add
tundra.list.document:clear
to remove all keys except for those specified from eachIData
document in the given list - add
tundra.pipeline:clear
to remove all keys except those specified from the pipeline - add
tundra.pipeline:emit
and:parse
for encoding/decoding the pipeline as XML - change
tundra.content:deliver
to return the delivery response body when applicable - change
tundra.content:emit
to HTML-encode values by default when emitting XML - change
tundra.datetime:add
,:compare
,:duration
, and:subtract
to support datetimes other than ISO8601 - change
tundra.datetime:format
so that when the input is null or absent, the output is now guaranteed to be absent rather than null, so that when mapping to anIData
structure null elements are not created inadvertently - change
tundra.datetime:format
to support JDBC named patterns, and usejava.sql.Timestamp
to parse and emit JDBC datetime strings - change
tundra.directory:list
to improve performance, and fix aNullPointerException
when the directory doesn't exist - change
tundra.document:rename
to fix bug when old and new keys are the same - change
tundra.document:split
to support the input and output arguments being the same for the translation service - change
tundra.document:translate
to fix a variable substitution bug in an error message - change
tundra.document:translate
to support the input and output arguments being the same for the translation service - change
tundra.http:client
to have unambiguous and distinct input ($request
) and output ($response
) arguments [backwards incompatible] - change
tundra.integer:decrement
input argument to be optional so that you don't need to initialize a counter variable to zero prior to calling this service in a loop - change
tundra.integer:increment
input argument to be optional so that you don't need to initialize a counter variable to zero prior to calling this service in a loop - change
tundra.uri:parse
so that malformed URIs now return more meaningful error messages - delete all
tundra.support.test:*
services from Tundra, and moved them to new TundraTest package to keep Tundra as lightweight as possible, and to avoid inadvertently running the test services in production
To install, download Tundra-v0.0.7.zip
, copy to IntegrationServer/replicate/inbound
, and install the release via the package management web page.
v0.0.6
The changes included in this release are as follows:
- add
tundra.content:retrieve
to fetch content from a source URI and process it with the given content processing service - add
tundra.document:listify
to normalize anIData
orIData[]
item in the pipeline to anIData[]
- add
tundra.list.string:match
to partition a list of strings into separate lists of matched and unmatched strings by matching each item against the given regular expression - add
tundra.mime.type:*
services for parsing and emitting mime types - add
tundra.node:access
to set ACL permissions on namespace nodes - add
tundra.object:listify
to normalize anObject
orObject[]
item in the pipeline to anObject[]
- add
tundra.string:listify
to normalize aString
orString[]
item in the pipeline to aString[]
- add
tundra.system:reflect
to return system settings (Java properties, environment settings) and state (Java heap memory usage) - add
tundra.user:current
to return the currently logged on user invoking the service - change
tundra.content:deliver
to correctly allow any additional variables to be passed in$pipeline
- change
tundra.content:deliver
to correctly extract the authority component of HTTP URIs - change
tundra.content:deliver
to support mailto: URI delivery - change
tundra.directory:list
to support wildcard/glob pattern matching, as well as regular expression matching - change
tundra.list.*:drop
services to return$list
to improve their usefulness - change
tundra.object:instance
now always returns$instance?
- change
tundra.support:startup
to set appropriate ACL permissions on tundra nodes - change
tundra.xml:validate
to return$valid?
as false when$content
is null
To install, download Tundra-v0.0.6.zip
, copy to IntegrationServer/replicate/inbound
, and install the release via the package management web page.
v0.0.5
The changes included in this release are as follows:
- add
tundra.xpath:exists
to test whether an XPath query exists in an XML document - add
tundra.list.service:chain
for calling a list of services sequentially with a shared pipeline - add
tundra.list.service:ensure
to provide a try/catch/finally pattern while invoking a list of services sequentially with a shared pipeline - add
tundra.document:first
andtundra.document:last
to return the first and last {key, value} pair in anIData
document - add
tundra.pipeline:first
andtundra.pipeline:last
to return the first and last {key, value} pair in the pipeline - add
tundra.integer:*
services for working with arbitrary precision integers (usesjava.math.BigInteger
for its implementation) - add
tundra.decimal:*
services for working with arbitrary precision decimals (usesjava.math.BigDecimal
for its implementation) - add
tundra.condition:evaluate
for testing conditional predicates against the pipeline or optional scopeIData
document - add
tundra.service:validate
to test whether a named service exists - add
tundra.content:amend
andtundra.document:amend
for making precise inline edits in XML or flat file content, orIData
documents - change
tundra.content:split
to support splitting content into disparate schemas
To install, download Tundra-v0.0.5.zip
, copy to IntegrationServer/replicate/inbound
, and install the release via the package management web page.
v0.0.4
The changes included in this release are as follows:
- add
tundra.string:squeeze
for replacing runs of whitespace characters with a single space character - add
tundra.document:duplicate
for making (optionally recursive) copies ofIData
documents - add support for fully qualified
IData
key namesa/b/c[0]
to relevanttundra.document
andtundra.pipeline
services - add
tundra.uri:*
services for parsing and emitting URI strings - add
tundra.content:deliver
andtundra.document:deliver
which provides an extensible framework for delivering arbitrary content to a URI destination - add
tundra.dns:resolve
to lookup DNS names and IP addresses - add
tundra.dns:localhost
to return the name and IP address of the localhost Integration Server is running on - add
tundra.base64:*
services for encoding and decoding base64 strings - add
tundra.service:self
to return the name of the currently running service - change
tundra.directory
andtundra.file
services to handle file:// URIs - rename
tundra.file:open
totundra.file:process
[backwards incompatible]
To install, download Tundra-v0.0.4.zip
, copy to IntegrationServer/replicate/inbound
, and install the release via the package management web page.
v0.0.3
The changes included in this release are as follows:
- add
tundra.content:*
services for parsing, emitting, and translating or mapping structured textual data (XML, flat files) - add lots of useful
tundra.document:*
services for manipulating IData documents - add
tundra.node:*
services for querying Integration Server namespace nodes - add
tundra.pipeline:drop
,tundra.pipeline:get
, andtundra.pipeline:put
for dropping, retrieving, and adding {key, value} pairs from/to the pipeline - add
tundra.string:lines
to return all the lines in a string - add
tundra.string:replace
to replace all occurrences of a regular expression pattern in a string - add
tundra.string:split
to split a string around matches of a regular expression pattern
To install, download Tundra-v0.0.3.zip
, copy to IntegrationServer/replicate/inbound
, and install the release via the package management web page.
v0.0.2
The changes included in this release are as follows:
- add
tundra.directory:*
for working with directories - add
tundra.file:*
for working with files - add
tundra.list.datetime:format
for formatting a list of datetime strings - add
tundra.list.duration:format
for formatting a list of time duration strings - add
tundra.list.service:invoke
for invoking a list of services either synchronously (with an optional level of concurrency) or asynchronously - add
tundra.list.service:join
for waiting on a list of asynchronously invoked services to finish - add
tundra.object:stringify
for converting any object to a string - add
tundra.pipeline:capture
for grabbing a snapshot of the current pipeline as anIData
document - add
tundra.pipeline:log
for logging the current contents of the pipeline to the server debug log - add
tundra.service:ensure
to provide a try/catch/finally pattern for service invocations - add
tundra.service:join
for waiting on an asynchronously invoked service to finish - add
tundra.service:sleep
for putting the currently executing thread to sleep - add
tundra.string:match
for matching strings against regular expression patterns - add
tundra.string:trim
for removing leading and trailing whitespace from strings
To install, download Tundra-v0.0.2.zip
, copy to IntegrationServer/replicate/inbound
, and install the release via the package management web page.
v0.0.1
The changes included in this release are as follows:
- add
tundra.assertion:*
to provide a lightweight unit testing framework - add
tundra.bytes:*
for working withbyte[]
objects - add
tundra.datetime:*
for parsing, emitting, and manipulating datetime strings - add
tundra.document:*
for manipulatingcom.wm.data.IData
objects (also known as records or documents in Integration Server) - add
tundra.duration:*
for parsing, emitting, and manipulating time durations - add
tundra.exception:*
for throwing exceptions - add
tundra.id:*
for generating unique identifier strings - add
tundra.list:*
to provide a comprehensive set of services for enumerating and manipulating lists (com.wm.data.IData[]
,java.lang.Object[]
,java.lang.String[]
) - add
tundra.object:*
for reflecting on objects - add
tundra.service:*
for invoking services dynamically - add
tundra.stream:*
for working withjava.io.InputStream
andjava.io.OutputStream
objects - add
tundra.string:*
for manipulating strings
To install, download Tundra-v0.0.1.zip
, copy to IntegrationServer/replicate/inbound
, and install the release via the package management web page.