Groovy Service
Provides a generic Fluent API Groovy script service which can provide reusable scripts to be called by other services.
Service Invoke Parameters
Parameter | Description | Nullable |
---|---|---|
svcDef | the service definition value object, see SvcDef | no |
request | the servlet HttpServletRequest | no |
user | the authenticated user, see User | yes |
request | the servlet HttpServletRequest of the calling code | no |
params | the map of parameters provided by the service caller, or request parameters map if called from REST Groovy Service Invoke API | yes |
params.job | associated job action Job, added when Groovy Service called from $func.invoke()
|
yes |
params.jobAction | associated JobAction, added when Groovy Service called from $func.invoke()
|
yes |
Script Result
The script can optionally return a value.
Error Handling
If an error occurs invoking the Groovy Service then the error will be recorded in the Journey Manager database error log.
Service Template
This section shows service template Groovy script.
import com.avoka.core.groovy.GroovyLogger as logger
import com.avoka.tm.vo.*
import javax.servlet.http.*
class FluentGroovyService {
/*
* Perform a groovy service invocation
*
* return: the result object
*/
Object invoke(SvcDef svcDef, HttpServletRequest request, User user, Map params) {
// TODO: perform your logic
def result = 'groovy result - ' + params.formId
return result
}
}
Unit Test Template
This section shows unit test template Groovy script.
import com.avoka.core.groovy.GroovyLogger as logger
import com.avoka.tm.svc.*
import com.avoka.tm.vo.*
import org.junit.Test
class UnitTest extends AbstractJUnitTest {
/*
* Perform service unit test
*
* throws exception if unit test fails
*/
@Test
void test() throws Exception {
Map args = [
"formId": 23
]
Map params = [
"svcDef": svcDef,
"request": null,
"user": null,
"params": args
]
def result = new ServiceInvoker(svcDef).invoke(params)
// Check result
logger.info result
assert "groovy result - 23" == result
}
}