Ok. That makes sense. The idea was that the RestLookupService would provide
a templated URL option so you could specify roughly this as an example:

GET "https://something.com:${port}/service/${username}/something/${related}";

And have the EL engine take the Map and fill in the blanks.

On Sat, Jun 2, 2018 at 6:53 PM Matt Burgess <[email protected]> wrote:

> Mike,
>
> IIRC the "top-level" EL evaluator will go through a string finding EL
> constructs and pass them into Query I think.  Also ReplaceText (for
> some reason) is the only place I know of where you can quote something
> and (if EL is present), the result is treated as a string literal.
> Otherwise in NiFi Expression Language I believe a quoted construct on
> its own is an attribute to be evaluated. You might want the following:
>
> literal('${name}-${name:length()}')
>
> or if that doesn't work, it might be because the Query has to be a
> full EL construct so maybe you'd have to put the whole thing together
> yourself:
>
> Query.compile("${name}").evaluate(coordinates) + "-" +
> Query.compile("${name:length()}")
>
> I didn't try this out, and it's very possible my assumptions are not
> spot-on, so if these don't work let me know and I'll take a closer
> look.
>
> Regards,
> Matt
>
>
>
>
> On Sat, Jun 2, 2018 at 6:30 PM, Mike Thomsen <[email protected]>
> wrote:
> > I tried working with the EL package's Query object to try building
> > something like this:
> >
> > def evaluate(String query, Map coordinates) {
> >     def compiled = Query.compile(query)
> >     compiled.evaluate(coordinates)
> > }
> >
> > Which for [ name: "John Smith" ] and query '${name}-${name:length()}' I
> > expected would return a string with both bracketed operations executed.
> It
> > threw an exception saying unexpected token '-' at column 7.
> >
> > Am I missing something here?
> >
> > Thanks,
> >
> > Mike
>

Reply via email to