You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nifi.apache.org by Matthew Clarke <ma...@gmail.com> on 2016/03/23 17:38:05 UTC

Fwd: More Documentation Shortcomings

---------- Forwarded message ----------
From: Paul Nahay <pn...@sprynet.com>
Date: Wed, Mar 23, 2016 at 10:51 AM
Subject: More Documentation Shortcomings
To: Matthew Clarke <ma...@gmail.com>
Cc: dev@nifi.apache.org, Paul Nahay <pn...@sprynet.com>


>https://nifi.apache.org/docs.html#

This page lists special characters for attribute names, such that attribute
names containing those characters need to be quoted.

That list of special characters OMITS the period.

However, I find I get an error if I do the following:

allAttributes(x.x,y.y)

Meaning, I have to quote these:

allAttributes('x.x','y.y')

even though your list of special characters does NOT include the period.

But this appears inconsistent, because in the same larger expression I can
write

${z.z:isEmpty():not()

and yet I do NOT get an error for my NOT putting quotes around "z.z".

SO:

1) Your documentation appears incorrect, as your special character list
seems like it SHOULD include the period, yet
2) Your EL evaluator appears to be inconsistent, requiring attributes
containing a period to be quoted, yet allowing it to be NOT quoted in
another situation.

Here is my complete expression (which I asked you about in previous email;
the "or" bothers me, since logically it is being tested at the "wrong
place" in the expression):

${allAttributes('a.a','b.b'):isEmpty():not():or(${c.c:isEmpty():not()})}

So I'm saying that your EL interpreter forces me to put quotes around "a.a"
and "b.b", but NOT around "c.c".

Very annoying, and makes me in general not trust what the Expression
Language is doing.

Please forward to your dev@nifi.apache.org team, because in addition to
everything wrong I outline above, I get my messages to
dev@nifi.apache.org returned to me.

--Paul Nahay