Skip to content

Instantly share code, notes, and snippets.

@mattyb149
Created October 25, 2017 21:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mattyb149/13b9bceeace1f7db76f648dfb200b680 to your computer and use it in GitHub Desktop.
Save mattyb149/13b9bceeace1f7db76f648dfb200b680 to your computer and use it in GitHub Desktop.
Groovy script for testing NiFi Expression Language expressions
@Grab(group='org.apache.nifi', module='nifi-expression-language', version='1.4.0')
import org.apache.nifi.attribute.expression.language.*
def cli = new CliBuilder(usage:'groovy testEL.groovy [options] [expressions]',
header:'Options:')
cli.help('print this message')
cli.D(args:2, valueSeparator:'=', argName:'attribute=value',
'set value for given attribute')
def options = cli.parse(args)
if(!options.arguments()) {
cli.usage()
return 1
}
def attrMap = [:]
def currKey = null
options.Ds?.eachWithIndex {o,i ->
if(i%2==0) {
currKey = o
} else {
attrMap[currKey] = o
}
}
options.arguments()?.each {
def q = Query.compile(it)
println q.evaluate(attrMap ?: null)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment