JavaScript and Python
JavaScript
script = {
execute : function() {
var fruits = ["apple", "banana", "cherry"]
var map = {"fruits" : fruits}
output.write(map)
}
}
var hook = new com.snaplogic.scripting.language.ScriptHook(script)
Python
Note:
This example requires an input view be defined in order for it to work.
from com.snaplogic.scripting.language import ScriptHook
from com.snaplogic.scripting.language.ScriptHook import *
class TransformScript(ScriptHook):
def __init__(self, input, output, error, log):
self.input = input
self.output = output
self.error = error
self.log = log
def execute(self):
self.log.info("Executing Transform script")
while self.input.hasNext():
data = self.input.next()
data["firstLast"] = "%s-%s" %(data["first"],data["last"])
data["firstLast2"] = data["first"] + data["last"]
data["numberMath"] = data["counter"] + 22
data["numberMath2"] = data["counter"] + 23
data["dateMonthPlusOne"] = data["birthday"].plusMonths(1)
data["numberMathType"] = type(data["counter"])
data["dateType"] = type(data["birthday"])
try:
data["mathTryCatch"] = data["counter2"] + 33
self.output.write(data)
except Exception as e:
data["errorMessage"] = e.message
self.error.write(data)
self.log.info("Finished executing the Transform script")
hook = TransformScript(input, output, error, log)