You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ma...@apache.org on 2015/06/22 15:17:17 UTC
[2/2] incubator-nifi git commit: NIFI-482: Allowed for new 'literal'
function. Make expressions invalid when they attempt to evaluate functions
against the values of 'reducing functions';
cleanup Evaluators that were depending on Abstract classes instead
NIFI-482: Allowed for new 'literal' function. Make expressions invalid when they attempt to evaluate functions against the values of 'reducing functions'; cleanup Evaluators that were depending on Abstract classes instead of interfaces. Updated EL Guide to include new 'literal' function
Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/c4c98fc4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/c4c98fc4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/c4c98fc4
Branch: refs/heads/develop
Commit: c4c98fc4a92ef44993324c5510cc31ba4736d4b8
Parents: 0f01b3c
Author: Mark Payne <ma...@hotmail.com>
Authored: Fri Jun 19 09:01:35 2015 -0400
Committer: Mark Payne <ma...@hotmail.com>
Committed: Mon Jun 22 09:04:55 2015 -0400
----------------------------------------------------------------------
.../language/antlr/AttributeExpressionLexer.g | 1 +
.../language/antlr/AttributeExpressionParser.g | 3 +-
.../attribute/expression/language/Query.java | 255 ++++++++++++-------
.../language/evaluation/BooleanEvaluator.java | 11 +
.../language/evaluation/DateEvaluator.java | 11 +
.../language/evaluation/Evaluator.java | 12 +
.../language/evaluation/NumberEvaluator.java | 10 +
.../language/evaluation/StringEvaluator.java | 11 +
.../evaluation/functions/AndEvaluator.java | 6 +-
.../evaluation/functions/AppendEvaluator.java | 6 +-
.../functions/AttributeEvaluator.java | 4 +-
.../evaluation/functions/ContainsEvaluator.java | 7 +-
.../evaluation/functions/DivideEvaluator.java | 6 +-
.../evaluation/functions/EndsWithEvaluator.java | 7 +-
.../evaluation/functions/FindEvaluator.java | 7 +-
.../evaluation/functions/FormatEvaluator.java | 4 +-
.../functions/GreaterThanEvaluator.java | 7 +-
.../functions/GreaterThanOrEqualEvaluator.java | 7 +-
.../evaluation/functions/IndexOfEvaluator.java | 7 +-
.../functions/LastIndexOfEvaluator.java | 7 +-
.../evaluation/functions/LengthEvaluator.java | 7 +-
.../evaluation/functions/LessThanEvaluator.java | 7 +-
.../functions/LessThanOrEqualEvaluator.java | 7 +-
.../evaluation/functions/MatchesEvaluator.java | 7 +-
.../evaluation/functions/MinusEvaluator.java | 6 +-
.../evaluation/functions/ModEvaluator.java | 6 +-
.../evaluation/functions/MultiplyEvaluator.java | 6 +-
.../evaluation/functions/NotEvaluator.java | 4 +-
.../functions/NumberToDateEvaluator.java | 5 +-
.../evaluation/functions/OrEvaluator.java | 6 +-
.../evaluation/functions/PlusEvaluator.java | 6 +-
.../evaluation/functions/PrependEvaluator.java | 6 +-
.../functions/ReplaceAllEvaluator.java | 8 +-
.../functions/ReplaceEmptyEvaluator.java | 6 +-
.../evaluation/functions/ReplaceEvaluator.java | 8 +-
.../functions/ReplaceNullEvaluator.java | 6 +-
.../functions/StartsWithEvaluator.java | 7 +-
.../functions/StringToDateEvaluator.java | 7 +-
.../functions/SubstringAfterEvaluator.java | 6 +-
.../functions/SubstringAfterLastEvaluator.java | 6 +-
.../functions/SubstringBeforeEvaluator.java | 6 +-
.../functions/SubstringBeforeLastEvaluator.java | 6 +-
.../functions/SubstringEvaluator.java | 11 +-
.../evaluation/functions/ToLowerEvaluator.java | 6 +-
.../evaluation/functions/ToNumberEvaluator.java | 7 +-
.../evaluation/functions/ToRadixEvaluator.java | 11 +-
.../evaluation/functions/ToUpperEvaluator.java | 6 +-
.../evaluation/functions/TrimEvaluator.java | 4 +-
.../functions/UrlDecodeEvaluator.java | 6 +-
.../functions/UrlEncodeEvaluator.java | 6 +-
.../evaluation/literals/ToLiteralEvaluator.java | 43 ++++
.../evaluation/reduce/JoinEvaluator.java | 6 +-
.../selection/AllAttributesEvaluator.java | 7 +-
.../selection/AnyAttributeEvaluator.java | 7 +-
.../AnyMatchingAttributeEvaluator.java | 21 --
.../selection/DelineatedAttributeEvaluator.java | 12 +-
.../selection/IteratingEvaluator.java | 33 +++
.../evaluation/selection/MappingEvaluator.java | 11 +-
.../selection/MultiAttributeEvaluator.java | 3 +-
.../selection/MultiMatchAttributeEvaluator.java | 5 +
.../selection/MultiNamedAttributeEvaluator.java | 5 +
.../expression/language/TestQuery.java | 54 +++-
.../asciidoc/expression-language-guide.adoc | 26 +-
63 files changed, 532 insertions(+), 286 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/antlr3/org/apache/nifi/attribute/expression/language/antlr/AttributeExpressionLexer.g
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/antlr3/org/apache/nifi/attribute/expression/language/antlr/AttributeExpressionLexer.g b/nifi/nifi-commons/nifi-expression-language/src/main/antlr3/org/apache/nifi/attribute/expression/language/antlr/AttributeExpressionLexer.g
index 10394b9..80581f5 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/antlr3/org/apache/nifi/attribute/expression/language/antlr/AttributeExpressionLexer.g
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/antlr3/org/apache/nifi/attribute/expression/language/antlr/AttributeExpressionLexer.g
@@ -150,6 +150,7 @@ TO_RADIX : 'toRadix';
OR : 'or';
AND : 'and';
JOIN : 'join';
+TO_LITERAL : 'literal';
// 2 arg functions
SUBSTRING : 'substring';
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/antlr3/org/apache/nifi/attribute/expression/language/antlr/AttributeExpressionParser.g
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/antlr3/org/apache/nifi/attribute/expression/language/antlr/AttributeExpressionParser.g b/nifi/nifi-commons/nifi-expression-language/src/main/antlr3/org/apache/nifi/attribute/expression/language/antlr/AttributeExpressionParser.g
index f6a87dd..7c37530 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/antlr3/org/apache/nifi/attribute/expression/language/antlr/AttributeExpressionParser.g
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/antlr3/org/apache/nifi/attribute/expression/language/antlr/AttributeExpressionParser.g
@@ -127,7 +127,8 @@ functionCall : functionRef ->
booleanLiteral : TRUE | FALSE;
zeroArgStandaloneFunction : (IP | UUID | NOW | NEXT_INT | HOSTNAME) LPAREN! RPAREN!;
-oneArgStandaloneFunction : HOSTNAME^ LPAREN! booleanLiteral RPAREN!;
+oneArgStandaloneFunction : (TO_LITERAL^ LPAREN! anyArg RPAREN!) |
+ (HOSTNAME^ LPAREN! booleanLiteral RPAREN!);
standaloneFunction : zeroArgStandaloneFunction | oneArgStandaloneFunction;
attributeRefOrFunctionCall : (attributeRef | standaloneFunction);
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/Query.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/Query.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/Query.java
index 77d08c6..07fbac6 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/Query.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/Query.java
@@ -95,12 +95,14 @@ import org.apache.nifi.attribute.expression.language.evaluation.functions.UuidEv
import org.apache.nifi.attribute.expression.language.evaluation.literals.BooleanLiteralEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.literals.NumberLiteralEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.literals.StringLiteralEvaluator;
+import org.apache.nifi.attribute.expression.language.evaluation.literals.ToLiteralEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.reduce.CountEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.reduce.JoinEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.reduce.ReduceEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.selection.AllAttributesEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.selection.AnyAttributeEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.selection.DelineatedAttributeEvaluator;
+import org.apache.nifi.attribute.expression.language.evaluation.selection.IteratingEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.selection.MultiAttributeEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.selection.MultiMatchAttributeEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.selection.MultiNamedAttributeEvaluator;
@@ -114,6 +116,7 @@ import org.antlr.runtime.ANTLRStringStream;
import org.antlr.runtime.CharStream;
import org.antlr.runtime.CommonTokenStream;
import org.antlr.runtime.tree.Tree;
+
import static org.apache.nifi.attribute.expression.language.antlr.AttributeExpressionParser.ALL_ATTRIBUTES;
import static org.apache.nifi.attribute.expression.language.antlr.AttributeExpressionParser.ALL_DELINEATED_VALUES;
import static org.apache.nifi.attribute.expression.language.antlr.AttributeExpressionParser.ALL_MATCHING_ATTRIBUTES;
@@ -171,6 +174,7 @@ import static org.apache.nifi.attribute.expression.language.antlr.AttributeExpre
import static org.apache.nifi.attribute.expression.language.antlr.AttributeExpressionParser.SUBSTRING_BEFORE;
import static org.apache.nifi.attribute.expression.language.antlr.AttributeExpressionParser.SUBSTRING_BEFORE_LAST;
import static org.apache.nifi.attribute.expression.language.antlr.AttributeExpressionParser.TO_DATE;
+import static org.apache.nifi.attribute.expression.language.antlr.AttributeExpressionParser.TO_LITERAL;
import static org.apache.nifi.attribute.expression.language.antlr.AttributeExpressionParser.TO_LOWER;
import static org.apache.nifi.attribute.expression.language.antlr.AttributeExpressionParser.TO_NUMBER;
import static org.apache.nifi.attribute.expression.language.antlr.AttributeExpressionParser.TO_RADIX;
@@ -181,6 +185,7 @@ import static org.apache.nifi.attribute.expression.language.antlr.AttributeExpre
import static org.apache.nifi.attribute.expression.language.antlr.AttributeExpressionParser.URL_DECODE;
import static org.apache.nifi.attribute.expression.language.antlr.AttributeExpressionParser.URL_ENCODE;
import static org.apache.nifi.attribute.expression.language.antlr.AttributeExpressionParser.UUID;
+
import org.apache.nifi.attribute.expression.language.evaluation.selection.MappingEvaluator;
/**
@@ -205,7 +210,7 @@ public class Query {
try {
validateExpression(value, false);
return true;
- } catch (final ProcessException e) {
+ } catch (final AttributeExpressionLanguageParsingException | ProcessException e) {
return false;
}
}
@@ -341,7 +346,7 @@ public class Query {
if (c == '\\') {
backslashCount++;
- } else if (c == quoteChar && ((backslashCount % 2 == 0) || lastChar != '\\')) {
+ } else if (c == quoteChar && (backslashCount % 2 == 0 || lastChar != '\\')) {
return i;
}
@@ -359,7 +364,7 @@ public class Query {
final String value = evaluated.toString();
final String escaped = value.replace("$$", "$");
- return (decorator == null) ? escaped : decorator.decorate(escaped);
+ return decorator == null ? escaped : decorator.decorate(escaped);
}
static String evaluateExpressions(final String rawValue, Map<String, String> expressionMap) throws ProcessException {
@@ -631,6 +636,25 @@ public class Query {
}
private static void verifyMappingEvaluatorReduced(final Evaluator<?> evaluator) {
+ final Evaluator<?> rightMostEvaluator;
+ if (evaluator instanceof IteratingEvaluator) {
+ rightMostEvaluator = ((IteratingEvaluator<?>) evaluator).getLogicEvaluator();
+ } else {
+ rightMostEvaluator = evaluator;
+ }
+
+ Evaluator<?> eval = rightMostEvaluator.getSubjectEvaluator();
+ Evaluator<?> lastEval = rightMostEvaluator;
+ while (eval != null) {
+ if (eval instanceof ReduceEvaluator) {
+ throw new AttributeExpressionLanguageParsingException("Expression attempts to call function '" + lastEval.getToken() + "' on the result of '" + eval.getToken() +
+ "'. This is not allowed. Instead, use \"${literal( ${<embedded expression>} ):" + lastEval.getToken() + "(...)}\"");
+ }
+
+ lastEval = eval;
+ eval = eval.getSubjectEvaluator();
+ }
+
// if the result type of the evaluator is BOOLEAN, then it will always
// be reduced when evaluator.
final ResultType resultType = evaluator.getResultType();
@@ -691,7 +715,7 @@ public class Query {
return "Query [" + query + "]";
}
- private static StringEvaluator newStringLiteralEvaluator(final String literalValue) {
+ private static Evaluator<String> newStringLiteralEvaluator(final String literalValue) {
if (literalValue == null || literalValue.length() < 2) {
return new StringLiteralEvaluator(literalValue);
}
@@ -724,7 +748,7 @@ public class Query {
return toStringEvaluator(evaluators.get(0));
}
- StringEvaluator lastEvaluator = toStringEvaluator(evaluators.get(0));
+ Evaluator<String> lastEvaluator = toStringEvaluator(evaluators.get(0));
for (int i = 1; i < evaluators.size(); i++) {
lastEvaluator = new AppendEvaluator(lastEvaluator, toStringEvaluator(evaluators.get(i)));
}
@@ -749,8 +773,8 @@ public class Query {
final Tree functionTypeTree = tree.getChild(0);
final int multiAttrType = functionTypeTree.getType();
if (multiAttrType == ANY_DELINEATED_VALUE || multiAttrType == ALL_DELINEATED_VALUES) {
- final StringEvaluator delineatedValueEvaluator = toStringEvaluator(buildEvaluator(tree.getChild(1)));
- final StringEvaluator delimiterEvaluator = toStringEvaluator(buildEvaluator(tree.getChild(2)));
+ final Evaluator<String> delineatedValueEvaluator = toStringEvaluator(buildEvaluator(tree.getChild(1)));
+ final Evaluator<String> delimiterEvaluator = toStringEvaluator(buildEvaluator(tree.getChild(2)));
return new DelineatedAttributeEvaluator(delineatedValueEvaluator, delimiterEvaluator, multiAttrType);
}
@@ -807,6 +831,10 @@ public class Query {
case NOW: {
return new NowEvaluator();
}
+ case TO_LITERAL: {
+ final Evaluator<?> argEvaluator = buildEvaluator(tree.getChild(0));
+ return new ToLiteralEvaluator(argEvaluator);
+ }
case IP: {
try {
return new IPEvaluator();
@@ -818,7 +846,7 @@ public class Query {
if (tree.getChildCount() == 0) {
try {
return new HostnameEvaluator(false);
- } catch (UnknownHostException e) {
+ } catch (final UnknownHostException e) {
throw new AttributeExpressionLanguageException(e);
}
} else if (tree.getChildCount() == 1) {
@@ -832,7 +860,7 @@ public class Query {
default:
throw new AttributeExpressionLanguageParsingException("Call to hostname() must take 0 or 1 (boolean) parameter");
}
- } catch (UnknownHostException e) {
+ } catch (final UnknownHostException e) {
throw new AttributeExpressionLanguageException(e);
}
} else {
@@ -847,16 +875,22 @@ public class Query {
}
}
+ private static <T> Evaluator<T> addToken(final Evaluator<T> evaluator, final String token) {
+ evaluator.setToken(token);
+ return evaluator;
+ }
+
private static Evaluator<Boolean> buildBooleanEvaluator(final Tree tree) {
switch (tree.getType()) {
case TRUE:
- return new BooleanLiteralEvaluator(true);
+ return addToken(new BooleanLiteralEvaluator(true), "true");
case FALSE:
- return new BooleanLiteralEvaluator(false);
+ return addToken(new BooleanLiteralEvaluator(false), "true");
}
throw new AttributeExpressionLanguageParsingException("Cannot build Boolean evaluator from tree " + tree.toString());
}
+ @SuppressWarnings({ "rawtypes", "unchecked" })
private static Evaluator<?> buildExpressionEvaluator(final Tree tree) {
if (tree.getChildCount() == 0) {
throw new AttributeExpressionLanguageParsingException("EXPRESSION tree node has no children");
@@ -901,6 +935,27 @@ public class Query {
break;
}
}
+
+ switch (multiAttrEval.getEvaluationType()) {
+ case ANY_ATTRIBUTE:
+ chosenEvaluator.setToken("anyAttribute");
+ break;
+ case ANY_MATCHING_ATTRIBUTE:
+ chosenEvaluator.setToken("anyMatchingAttribute");
+ break;
+ case ANY_DELINEATED_VALUE:
+ chosenEvaluator.setToken("anyDelineatedValue");
+ break;
+ case ALL_ATTRIBUTES:
+ chosenEvaluator.setToken("allAttributes");
+ break;
+ case ALL_MATCHING_ATTRIBUTES:
+ chosenEvaluator.setToken("allMatchingAttributes");
+ break;
+ case ALL_DELINEATED_VALUES:
+ chosenEvaluator.setToken("allDelineatedValues");
+ break;
+ }
}
}
@@ -934,24 +989,25 @@ public class Query {
return args;
}
- private static StringEvaluator toStringEvaluator(final Evaluator<?> evaluator) {
+ private static Evaluator<String> toStringEvaluator(final Evaluator<?> evaluator) {
return toStringEvaluator(evaluator, null);
}
- private static StringEvaluator toStringEvaluator(final Evaluator<?> evaluator, final String location) {
+ private static Evaluator<String> toStringEvaluator(final Evaluator<?> evaluator, final String location) {
if (evaluator.getResultType() == ResultType.STRING) {
return (StringEvaluator) evaluator;
}
- return new StringCastEvaluator(evaluator);
+ return addToken(new StringCastEvaluator(evaluator), evaluator.getToken());
}
- private static BooleanEvaluator toBooleanEvaluator(final Evaluator<?> evaluator, final String location) {
+ @SuppressWarnings("unchecked")
+ private static Evaluator<Boolean> toBooleanEvaluator(final Evaluator<?> evaluator, final String location) {
switch (evaluator.getResultType()) {
case BOOLEAN:
- return (BooleanEvaluator) evaluator;
+ return (Evaluator<Boolean>) evaluator;
case STRING:
- return new BooleanCastEvaluator((StringEvaluator) evaluator);
+ return addToken(new BooleanCastEvaluator((StringEvaluator) evaluator), evaluator.getToken());
default:
throw new AttributeExpressionLanguageParsingException("Cannot implicitly convert Data Type " + evaluator.getResultType() + " to " + ResultType.BOOLEAN
+ (location == null ? "" : " at location [" + location + "]"));
@@ -959,22 +1015,23 @@ public class Query {
}
- private static BooleanEvaluator toBooleanEvaluator(final Evaluator<?> evaluator) {
+ private static Evaluator<Boolean> toBooleanEvaluator(final Evaluator<?> evaluator) {
return toBooleanEvaluator(evaluator, null);
}
- private static NumberEvaluator toNumberEvaluator(final Evaluator<?> evaluator) {
+ private static Evaluator<Long> toNumberEvaluator(final Evaluator<?> evaluator) {
return toNumberEvaluator(evaluator, null);
}
- private static NumberEvaluator toNumberEvaluator(final Evaluator<?> evaluator, final String location) {
+ @SuppressWarnings("unchecked")
+ private static Evaluator<Long> toNumberEvaluator(final Evaluator<?> evaluator, final String location) {
switch (evaluator.getResultType()) {
case NUMBER:
- return (NumberEvaluator) evaluator;
+ return (Evaluator<Long>) evaluator;
case STRING:
- return new NumberCastEvaluator(evaluator);
+ return addToken(new NumberCastEvaluator(evaluator), evaluator.getToken());
case DATE:
- return new DateToNumberEvaluator((DateEvaluator) evaluator);
+ return addToken(new DateToNumberEvaluator((DateEvaluator) evaluator), evaluator.getToken());
default:
throw new AttributeExpressionLanguageParsingException("Cannot implicitly convert Data Type " + evaluator.getResultType() + " to " + ResultType.NUMBER
+ (location == null ? "" : " at location [" + location + "]"));
@@ -997,233 +1054,233 @@ public class Query {
switch (tree.getType()) {
case TRIM: {
verifyArgCount(argEvaluators, 0, "trim");
- return new TrimEvaluator(toStringEvaluator(subjectEvaluator));
+ return addToken(new TrimEvaluator(toStringEvaluator(subjectEvaluator)), "trim");
}
case TO_STRING: {
verifyArgCount(argEvaluators, 0, "toString");
- return new ToStringEvaluator(subjectEvaluator);
+ return addToken(new ToStringEvaluator(subjectEvaluator), "toString");
}
case TO_LOWER: {
verifyArgCount(argEvaluators, 0, "toLower");
- return new ToLowerEvaluator(toStringEvaluator(subjectEvaluator));
+ return addToken(new ToLowerEvaluator(toStringEvaluator(subjectEvaluator)), "toLower");
}
case TO_UPPER: {
verifyArgCount(argEvaluators, 0, "toUpper");
- return new ToUpperEvaluator(toStringEvaluator(subjectEvaluator));
+ return addToken(new ToUpperEvaluator(toStringEvaluator(subjectEvaluator)), "toUpper");
}
case URL_ENCODE: {
verifyArgCount(argEvaluators, 0, "urlEncode");
- return new UrlEncodeEvaluator(toStringEvaluator(subjectEvaluator));
+ return addToken(new UrlEncodeEvaluator(toStringEvaluator(subjectEvaluator)), "urlEncode");
}
case URL_DECODE: {
verifyArgCount(argEvaluators, 0, "urlDecode");
- return new UrlDecodeEvaluator(toStringEvaluator(subjectEvaluator));
+ return addToken(new UrlDecodeEvaluator(toStringEvaluator(subjectEvaluator)), "urlDecode");
}
case SUBSTRING_BEFORE: {
verifyArgCount(argEvaluators, 1, "substringBefore");
- return new SubstringBeforeEvaluator(toStringEvaluator(subjectEvaluator),
- toStringEvaluator(argEvaluators.get(0), "first argument to substringBefore"));
+ return addToken(new SubstringBeforeEvaluator(toStringEvaluator(subjectEvaluator),
+ toStringEvaluator(argEvaluators.get(0), "first argument to substringBefore")), "substringBefore");
}
case SUBSTRING_BEFORE_LAST: {
verifyArgCount(argEvaluators, 1, "substringBeforeLast");
- return new SubstringBeforeLastEvaluator(toStringEvaluator(subjectEvaluator),
- toStringEvaluator(argEvaluators.get(0), "first argument to substringBeforeLast"));
+ return addToken(new SubstringBeforeLastEvaluator(toStringEvaluator(subjectEvaluator),
+ toStringEvaluator(argEvaluators.get(0), "first argument to substringBeforeLast")), "substringBeforeLast");
}
case SUBSTRING_AFTER: {
verifyArgCount(argEvaluators, 1, "substringAfter");
- return new SubstringAfterEvaluator(toStringEvaluator(subjectEvaluator),
- toStringEvaluator(argEvaluators.get(0), "first argument to substringAfter"));
+ return addToken(new SubstringAfterEvaluator(toStringEvaluator(subjectEvaluator),
+ toStringEvaluator(argEvaluators.get(0), "first argument to substringAfter")), "substringAfter");
}
case SUBSTRING_AFTER_LAST: {
verifyArgCount(argEvaluators, 1, "substringAfterLast");
- return new SubstringAfterLastEvaluator(toStringEvaluator(subjectEvaluator),
- toStringEvaluator(argEvaluators.get(0), "first argument to substringAfterLast"));
+ return addToken(new SubstringAfterLastEvaluator(toStringEvaluator(subjectEvaluator),
+ toStringEvaluator(argEvaluators.get(0), "first argument to substringAfterLast")), "substringAfterLast");
}
case REPLACE_NULL: {
verifyArgCount(argEvaluators, 1, "replaceNull");
- return new ReplaceNullEvaluator(toStringEvaluator(subjectEvaluator),
- toStringEvaluator(argEvaluators.get(0), "first argument to replaceNull"));
+ return addToken(new ReplaceNullEvaluator(toStringEvaluator(subjectEvaluator),
+ toStringEvaluator(argEvaluators.get(0), "first argument to replaceNull")), "replaceNull");
}
case REPLACE_EMPTY: {
verifyArgCount(argEvaluators, 1, "replaceEmtpy");
- return new ReplaceEmptyEvaluator(toStringEvaluator(subjectEvaluator), toStringEvaluator(argEvaluators.get(0), "first argumen to replaceEmpty"));
+ return addToken(new ReplaceEmptyEvaluator(toStringEvaluator(subjectEvaluator), toStringEvaluator(argEvaluators.get(0), "first argument to replaceEmpty")), "replaceEmpty");
}
case REPLACE: {
verifyArgCount(argEvaluators, 2, "replace");
- return new ReplaceEvaluator(toStringEvaluator(subjectEvaluator),
+ return addToken(new ReplaceEvaluator(toStringEvaluator(subjectEvaluator),
toStringEvaluator(argEvaluators.get(0), "first argument to replace"),
- toStringEvaluator(argEvaluators.get(1), "second argument to replace"));
+ toStringEvaluator(argEvaluators.get(1), "second argument to replace")), "replace");
}
case REPLACE_ALL: {
verifyArgCount(argEvaluators, 2, "replaceAll");
- return new ReplaceAllEvaluator(toStringEvaluator(subjectEvaluator),
+ return addToken(new ReplaceAllEvaluator(toStringEvaluator(subjectEvaluator),
toStringEvaluator(argEvaluators.get(0), "first argument to replaceAll"),
- toStringEvaluator(argEvaluators.get(1), "second argument to replaceAll"));
+ toStringEvaluator(argEvaluators.get(1), "second argument to replaceAll")), "replaceAll");
}
case APPEND: {
verifyArgCount(argEvaluators, 1, "append");
- return new AppendEvaluator(toStringEvaluator(subjectEvaluator),
- toStringEvaluator(argEvaluators.get(0), "first argument to append"));
+ return addToken(new AppendEvaluator(toStringEvaluator(subjectEvaluator),
+ toStringEvaluator(argEvaluators.get(0), "first argument to append")), "append");
}
case PREPEND: {
verifyArgCount(argEvaluators, 1, "prepend");
- return new PrependEvaluator(toStringEvaluator(subjectEvaluator),
- toStringEvaluator(argEvaluators.get(0), "first argument to prepend"));
+ return addToken(new PrependEvaluator(toStringEvaluator(subjectEvaluator),
+ toStringEvaluator(argEvaluators.get(0), "first argument to prepend")), "prepend");
}
case SUBSTRING: {
final int numArgs = argEvaluators.size();
if (numArgs == 1) {
- return new SubstringEvaluator(toStringEvaluator(subjectEvaluator),
- toNumberEvaluator(argEvaluators.get(0), "first argument to substring"));
+ return addToken(new SubstringEvaluator(toStringEvaluator(subjectEvaluator),
+ toNumberEvaluator(argEvaluators.get(0), "first argument to substring")), "substring");
} else if (numArgs == 2) {
- return new SubstringEvaluator(toStringEvaluator(subjectEvaluator),
+ return addToken(new SubstringEvaluator(toStringEvaluator(subjectEvaluator),
toNumberEvaluator(argEvaluators.get(0), "first argument to substring"),
- toNumberEvaluator(argEvaluators.get(1), "second argument to substring"));
+ toNumberEvaluator(argEvaluators.get(1), "second argument to substring")), "substring");
} else {
throw new AttributeExpressionLanguageParsingException("substring() function can take either 1 or 2 arguments but cannot take " + numArgs + " arguments");
}
}
case JOIN: {
verifyArgCount(argEvaluators, 1, "join");
- return new JoinEvaluator(toStringEvaluator(subjectEvaluator), toStringEvaluator(argEvaluators.get(0)));
+ return addToken(new JoinEvaluator(toStringEvaluator(subjectEvaluator), toStringEvaluator(argEvaluators.get(0))), "join");
}
case COUNT: {
verifyArgCount(argEvaluators, 0, "count");
- return new CountEvaluator(subjectEvaluator);
+ return addToken(new CountEvaluator(subjectEvaluator), "count");
}
case IS_NULL: {
verifyArgCount(argEvaluators, 0, "isNull");
- return new IsNullEvaluator(toStringEvaluator(subjectEvaluator));
+ return addToken(new IsNullEvaluator(toStringEvaluator(subjectEvaluator)), "isNull");
}
case IS_EMPTY: {
verifyArgCount(argEvaluators, 0, "isNull");
- return new IsEmptyEvaluator(toStringEvaluator(subjectEvaluator));
+ return addToken(new IsEmptyEvaluator(toStringEvaluator(subjectEvaluator)), "isEmpty");
}
case NOT_NULL: {
verifyArgCount(argEvaluators, 0, "notNull");
- return new NotNullEvaluator(toStringEvaluator(subjectEvaluator));
+ return addToken(new NotNullEvaluator(toStringEvaluator(subjectEvaluator)), "notNull");
}
case STARTS_WITH: {
verifyArgCount(argEvaluators, 1, "startsWith");
- return new StartsWithEvaluator(toStringEvaluator(subjectEvaluator),
- toStringEvaluator(argEvaluators.get(0), "first argument to startsWith"));
+ return addToken(new StartsWithEvaluator(toStringEvaluator(subjectEvaluator),
+ toStringEvaluator(argEvaluators.get(0), "first argument to startsWith")), "startsWith");
}
case ENDS_WITH: {
verifyArgCount(argEvaluators, 1, "endsWith");
- return new EndsWithEvaluator(toStringEvaluator(subjectEvaluator),
- toStringEvaluator(argEvaluators.get(0), "first argument to endsWith"));
+ return addToken(new EndsWithEvaluator(toStringEvaluator(subjectEvaluator),
+ toStringEvaluator(argEvaluators.get(0), "first argument to endsWith")), "endsWith");
}
case CONTAINS: {
verifyArgCount(argEvaluators, 1, "contains");
- return new ContainsEvaluator(toStringEvaluator(subjectEvaluator),
- toStringEvaluator(argEvaluators.get(0), "first argument to contains"));
+ return addToken(new ContainsEvaluator(toStringEvaluator(subjectEvaluator),
+ toStringEvaluator(argEvaluators.get(0), "first argument to contains")), "contains");
}
case FIND: {
verifyArgCount(argEvaluators, 1, "find");
- return new FindEvaluator(toStringEvaluator(subjectEvaluator),
- toStringEvaluator(argEvaluators.get(0), "first argument to find"));
+ return addToken(new FindEvaluator(toStringEvaluator(subjectEvaluator),
+ toStringEvaluator(argEvaluators.get(0), "first argument to find")), "find");
}
case MATCHES: {
verifyArgCount(argEvaluators, 1, "matches");
- return new MatchesEvaluator(toStringEvaluator(subjectEvaluator),
- toStringEvaluator(argEvaluators.get(0), "first argument to matches"));
+ return addToken(new MatchesEvaluator(toStringEvaluator(subjectEvaluator),
+ toStringEvaluator(argEvaluators.get(0), "first argument to matches")), "matches");
}
case EQUALS: {
verifyArgCount(argEvaluators, 1, "equals");
- return new EqualsEvaluator(subjectEvaluator, argEvaluators.get(0));
+ return addToken(new EqualsEvaluator(subjectEvaluator, argEvaluators.get(0)), "equals");
}
case EQUALS_IGNORE_CASE: {
verifyArgCount(argEvaluators, 1, "equalsIgnoreCase");
- return new EqualsIgnoreCaseEvaluator(toStringEvaluator(subjectEvaluator),
- toStringEvaluator(argEvaluators.get(0), "first argument to equalsIgnoreCase"));
+ return addToken(new EqualsIgnoreCaseEvaluator(toStringEvaluator(subjectEvaluator),
+ toStringEvaluator(argEvaluators.get(0), "first argument to equalsIgnoreCase")), "equalsIgnoreCase");
}
case GREATER_THAN: {
verifyArgCount(argEvaluators, 1, "gt");
- return new GreaterThanEvaluator(toNumberEvaluator(subjectEvaluator),
- toNumberEvaluator(argEvaluators.get(0), "first argument to gt"));
+ return addToken(new GreaterThanEvaluator(toNumberEvaluator(subjectEvaluator),
+ toNumberEvaluator(argEvaluators.get(0), "first argument to gt")), "gt");
}
case GREATER_THAN_OR_EQUAL: {
verifyArgCount(argEvaluators, 1, "ge");
- return new GreaterThanOrEqualEvaluator(toNumberEvaluator(subjectEvaluator),
- toNumberEvaluator(argEvaluators.get(0), "first argument to ge"));
+ return addToken(new GreaterThanOrEqualEvaluator(toNumberEvaluator(subjectEvaluator),
+ toNumberEvaluator(argEvaluators.get(0), "first argument to ge")), "ge");
}
case LESS_THAN: {
verifyArgCount(argEvaluators, 1, "lt");
- return new LessThanEvaluator(toNumberEvaluator(subjectEvaluator),
- toNumberEvaluator(argEvaluators.get(0), "first argument to lt"));
+ return addToken(new LessThanEvaluator(toNumberEvaluator(subjectEvaluator),
+ toNumberEvaluator(argEvaluators.get(0), "first argument to lt")), "lt");
}
case LESS_THAN_OR_EQUAL: {
verifyArgCount(argEvaluators, 1, "le");
- return new LessThanOrEqualEvaluator(toNumberEvaluator(subjectEvaluator),
- toNumberEvaluator(argEvaluators.get(0), "first argument to le"));
+ return addToken(new LessThanOrEqualEvaluator(toNumberEvaluator(subjectEvaluator),
+ toNumberEvaluator(argEvaluators.get(0), "first argument to le")), "le");
}
case LENGTH: {
verifyArgCount(argEvaluators, 0, "length");
- return new LengthEvaluator(toStringEvaluator(subjectEvaluator));
+ return addToken(new LengthEvaluator(toStringEvaluator(subjectEvaluator)), "length");
}
case TO_DATE: {
if (argEvaluators.isEmpty()) {
- return new NumberToDateEvaluator(toNumberEvaluator(subjectEvaluator));
+ return addToken(new NumberToDateEvaluator(toNumberEvaluator(subjectEvaluator)), "toDate");
} else if (subjectEvaluator.getResultType() == ResultType.STRING) {
- return new StringToDateEvaluator(toStringEvaluator(subjectEvaluator), toStringEvaluator(argEvaluators.get(0)));
+ return addToken(new StringToDateEvaluator(toStringEvaluator(subjectEvaluator), toStringEvaluator(argEvaluators.get(0))), "toDate");
} else {
- return new NumberToDateEvaluator(toNumberEvaluator(subjectEvaluator));
+ return addToken(new NumberToDateEvaluator(toNumberEvaluator(subjectEvaluator)), "toDate");
}
}
case TO_NUMBER: {
verifyArgCount(argEvaluators, 0, "toNumber");
switch (subjectEvaluator.getResultType()) {
case STRING:
- return new ToNumberEvaluator((StringEvaluator) subjectEvaluator);
+ return addToken(new ToNumberEvaluator((StringEvaluator) subjectEvaluator), "toNumber");
case DATE:
- return new DateToNumberEvaluator((DateEvaluator) subjectEvaluator);
+ return addToken(new DateToNumberEvaluator((DateEvaluator) subjectEvaluator), "toNumber");
default:
throw new AttributeExpressionLanguageParsingException(subjectEvaluator + " returns type " + subjectEvaluator.getResultType() + " but expected to get " + ResultType.STRING);
}
}
case TO_RADIX: {
if (argEvaluators.size() == 1) {
- return new ToRadixEvaluator((NumberEvaluator) subjectEvaluator, toNumberEvaluator(argEvaluators.get(0)));
+ return addToken(new ToRadixEvaluator((NumberEvaluator) subjectEvaluator, toNumberEvaluator(argEvaluators.get(0))), "toRadix");
} else {
- return new ToRadixEvaluator((NumberEvaluator) subjectEvaluator, toNumberEvaluator(argEvaluators.get(0)), toNumberEvaluator(argEvaluators.get(1)));
+ return addToken(new ToRadixEvaluator((NumberEvaluator) subjectEvaluator, toNumberEvaluator(argEvaluators.get(0)), toNumberEvaluator(argEvaluators.get(1))), "toRadix");
}
}
case MOD: {
- return new ModEvaluator(toNumberEvaluator(subjectEvaluator), toNumberEvaluator(argEvaluators.get(0)));
+ return addToken(new ModEvaluator(toNumberEvaluator(subjectEvaluator), toNumberEvaluator(argEvaluators.get(0))), "mod");
}
case PLUS: {
- return new PlusEvaluator(toNumberEvaluator(subjectEvaluator), toNumberEvaluator(argEvaluators.get(0)));
+ return addToken(new PlusEvaluator(toNumberEvaluator(subjectEvaluator), toNumberEvaluator(argEvaluators.get(0))), "plus");
}
case MINUS: {
- return new MinusEvaluator(toNumberEvaluator(subjectEvaluator), toNumberEvaluator(argEvaluators.get(0)));
+ return addToken(new MinusEvaluator(toNumberEvaluator(subjectEvaluator), toNumberEvaluator(argEvaluators.get(0))), "minus");
}
case MULTIPLY: {
- return new MultiplyEvaluator(toNumberEvaluator(subjectEvaluator), toNumberEvaluator(argEvaluators.get(0)));
+ return addToken(new MultiplyEvaluator(toNumberEvaluator(subjectEvaluator), toNumberEvaluator(argEvaluators.get(0))), "multiply");
}
case DIVIDE: {
- return new DivideEvaluator(toNumberEvaluator(subjectEvaluator), toNumberEvaluator(argEvaluators.get(0)));
+ return addToken(new DivideEvaluator(toNumberEvaluator(subjectEvaluator), toNumberEvaluator(argEvaluators.get(0))), "divide");
}
case INDEX_OF: {
verifyArgCount(argEvaluators, 1, "indexOf");
- return new IndexOfEvaluator(toStringEvaluator(subjectEvaluator),
- toStringEvaluator(argEvaluators.get(0), "first argument to indexOf"));
+ return addToken(new IndexOfEvaluator(toStringEvaluator(subjectEvaluator),
+ toStringEvaluator(argEvaluators.get(0), "first argument to indexOf")), "indexOf");
}
case LAST_INDEX_OF: {
verifyArgCount(argEvaluators, 1, "lastIndexOf");
- return new LastIndexOfEvaluator(toStringEvaluator(subjectEvaluator),
- toStringEvaluator(argEvaluators.get(0), "first argument to lastIndexOf"));
+ return addToken(new LastIndexOfEvaluator(toStringEvaluator(subjectEvaluator),
+ toStringEvaluator(argEvaluators.get(0), "first argument to lastIndexOf")), "lastIndexOf");
}
case FORMAT: {
- return new FormatEvaluator(toDateEvaluator(subjectEvaluator), toStringEvaluator(argEvaluators.get(0), "first argument of format"));
+ return addToken(new FormatEvaluator(toDateEvaluator(subjectEvaluator), toStringEvaluator(argEvaluators.get(0), "first argument of format")), "format");
}
case OR: {
- return new OrEvaluator(toBooleanEvaluator(subjectEvaluator), toBooleanEvaluator(argEvaluators.get(0)));
+ return addToken(new OrEvaluator(toBooleanEvaluator(subjectEvaluator), toBooleanEvaluator(argEvaluators.get(0))), "or");
}
case AND: {
- return new AndEvaluator(toBooleanEvaluator(subjectEvaluator), toBooleanEvaluator(argEvaluators.get(0)));
+ return addToken(new AndEvaluator(toBooleanEvaluator(subjectEvaluator), toBooleanEvaluator(argEvaluators.get(0))), "and");
}
case NOT: {
- return new NotEvaluator(toBooleanEvaluator(subjectEvaluator));
+ return addToken(new NotEvaluator(toBooleanEvaluator(subjectEvaluator)), "not");
}
default:
throw new AttributeExpressionLanguageParsingException("Expected a Function-type expression but got " + tree.toString());
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/BooleanEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/BooleanEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/BooleanEvaluator.java
index 376ddfe..907ee95 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/BooleanEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/BooleanEvaluator.java
@@ -19,6 +19,7 @@ package org.apache.nifi.attribute.expression.language.evaluation;
import org.apache.nifi.expression.AttributeExpression.ResultType;
public abstract class BooleanEvaluator implements Evaluator<Boolean> {
+ private String token;
@Override
public ResultType getResultType() {
@@ -29,4 +30,14 @@ public abstract class BooleanEvaluator implements Evaluator<Boolean> {
public int getEvaluationsRemaining() {
return 0;
}
+
+ @Override
+ public String getToken() {
+ return token;
+ }
+
+ @Override
+ public void setToken(final String token) {
+ this.token = token;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/DateEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/DateEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/DateEvaluator.java
index 7474b60..caf3117 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/DateEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/DateEvaluator.java
@@ -21,6 +21,7 @@ import java.util.Date;
import org.apache.nifi.expression.AttributeExpression.ResultType;
public abstract class DateEvaluator implements Evaluator<Date> {
+ private String token;
@Override
public ResultType getResultType() {
@@ -31,4 +32,14 @@ public abstract class DateEvaluator implements Evaluator<Date> {
public int getEvaluationsRemaining() {
return 0;
}
+
+ @Override
+ public String getToken() {
+ return token;
+ }
+
+ @Override
+ public void setToken(final String token) {
+ this.token = token;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/Evaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/Evaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/Evaluator.java
index 6d164df..86f95a8 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/Evaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/Evaluator.java
@@ -29,4 +29,16 @@ public interface Evaluator<T> {
int getEvaluationsRemaining();
Evaluator<?> getSubjectEvaluator();
+
+ /**
+ * Sets the token that was used in the query to cause this Evaluator to be created
+ *
+ * @param token the token that caused this Evaluator to be created
+ */
+ void setToken(String token);
+
+ /**
+ * @return the token that caused this Evaluator to be created
+ */
+ String getToken();
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/NumberEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/NumberEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/NumberEvaluator.java
index 403bae3..ec3adac 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/NumberEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/NumberEvaluator.java
@@ -19,6 +19,7 @@ package org.apache.nifi.attribute.expression.language.evaluation;
import org.apache.nifi.expression.AttributeExpression.ResultType;
public abstract class NumberEvaluator implements Evaluator<Long> {
+ private String token;
@Override
public ResultType getResultType() {
@@ -30,4 +31,13 @@ public abstract class NumberEvaluator implements Evaluator<Long> {
return 0;
}
+ @Override
+ public String getToken() {
+ return token;
+ }
+
+ @Override
+ public void setToken(final String token) {
+ this.token = token;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/StringEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/StringEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/StringEvaluator.java
index 1f4ff21..c6f2b79 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/StringEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/StringEvaluator.java
@@ -19,6 +19,7 @@ package org.apache.nifi.attribute.expression.language.evaluation;
import org.apache.nifi.expression.AttributeExpression.ResultType;
public abstract class StringEvaluator implements Evaluator<String> {
+ private String token;
@Override
public ResultType getResultType() {
@@ -29,4 +30,14 @@ public abstract class StringEvaluator implements Evaluator<String> {
public int getEvaluationsRemaining() {
return 0;
}
+
+ @Override
+ public String getToken() {
+ return token;
+ }
+
+ @Override
+ public void setToken(final String token) {
+ this.token = token;
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/AndEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/AndEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/AndEvaluator.java
index 9ed8f06..232fc26 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/AndEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/AndEvaluator.java
@@ -25,10 +25,10 @@ import org.apache.nifi.attribute.expression.language.evaluation.QueryResult;
public class AndEvaluator extends BooleanEvaluator {
- private final BooleanEvaluator subjectEvaluator;
- private final BooleanEvaluator rhsEvaluator;
+ private final Evaluator<Boolean> subjectEvaluator;
+ private final Evaluator<Boolean> rhsEvaluator;
- public AndEvaluator(final BooleanEvaluator subjectEvaluator, final BooleanEvaluator rhsEvaluator) {
+ public AndEvaluator(final Evaluator<Boolean> subjectEvaluator, final Evaluator<Boolean> rhsEvaluator) {
this.subjectEvaluator = subjectEvaluator;
this.rhsEvaluator = rhsEvaluator;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/AppendEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/AppendEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/AppendEvaluator.java
index bd5e81a..80f1974 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/AppendEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/AppendEvaluator.java
@@ -25,10 +25,10 @@ import org.apache.nifi.attribute.expression.language.evaluation.StringQueryResul
public class AppendEvaluator extends StringEvaluator {
- private final StringEvaluator subject;
- private final StringEvaluator appendEvaluator;
+ private final Evaluator<String> subject;
+ private final Evaluator<String> appendEvaluator;
- public AppendEvaluator(final StringEvaluator subject, final StringEvaluator append) {
+ public AppendEvaluator(final Evaluator<String> subject, final Evaluator<String> append) {
this.subject = subject;
this.appendEvaluator = append;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/AttributeEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/AttributeEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/AttributeEvaluator.java
index 1b4b74e..a0695a9 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/AttributeEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/AttributeEvaluator.java
@@ -25,9 +25,9 @@ import org.apache.nifi.attribute.expression.language.evaluation.StringQueryResul
public class AttributeEvaluator extends StringEvaluator {
- private final StringEvaluator nameEvaluator;
+ private final Evaluator<String> nameEvaluator;
- public AttributeEvaluator(final StringEvaluator nameEvaluator) {
+ public AttributeEvaluator(final Evaluator<String> nameEvaluator) {
this.nameEvaluator = nameEvaluator;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/ContainsEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/ContainsEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/ContainsEvaluator.java
index 99802f6..54170ba 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/ContainsEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/ContainsEvaluator.java
@@ -22,14 +22,13 @@ import org.apache.nifi.attribute.expression.language.evaluation.BooleanEvaluator
import org.apache.nifi.attribute.expression.language.evaluation.BooleanQueryResult;
import org.apache.nifi.attribute.expression.language.evaluation.Evaluator;
import org.apache.nifi.attribute.expression.language.evaluation.QueryResult;
-import org.apache.nifi.attribute.expression.language.evaluation.StringEvaluator;
public class ContainsEvaluator extends BooleanEvaluator {
- private final StringEvaluator subject;
- private final StringEvaluator search;
+ private final Evaluator<String> subject;
+ private final Evaluator<String> search;
- public ContainsEvaluator(final StringEvaluator subject, final StringEvaluator search) {
+ public ContainsEvaluator(final Evaluator<String> subject, final Evaluator<String> search) {
this.subject = subject;
this.search = search;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/DivideEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/DivideEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/DivideEvaluator.java
index c7583cb..12ab37f 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/DivideEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/DivideEvaluator.java
@@ -25,10 +25,10 @@ import org.apache.nifi.attribute.expression.language.evaluation.QueryResult;
public class DivideEvaluator extends NumberEvaluator {
- private final NumberEvaluator subject;
- private final NumberEvaluator divideValue;
+ private final Evaluator<Long> subject;
+ private final Evaluator<Long> divideValue;
- public DivideEvaluator(final NumberEvaluator subject, final NumberEvaluator divideValue) {
+ public DivideEvaluator(final Evaluator<Long> subject, final Evaluator<Long> divideValue) {
this.subject = subject;
this.divideValue = divideValue;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/EndsWithEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/EndsWithEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/EndsWithEvaluator.java
index c31c2b1..13bc396 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/EndsWithEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/EndsWithEvaluator.java
@@ -22,14 +22,13 @@ import org.apache.nifi.attribute.expression.language.evaluation.BooleanEvaluator
import org.apache.nifi.attribute.expression.language.evaluation.BooleanQueryResult;
import org.apache.nifi.attribute.expression.language.evaluation.Evaluator;
import org.apache.nifi.attribute.expression.language.evaluation.QueryResult;
-import org.apache.nifi.attribute.expression.language.evaluation.StringEvaluator;
public class EndsWithEvaluator extends BooleanEvaluator {
- private final StringEvaluator subject;
- private final StringEvaluator search;
+ private final Evaluator<String> subject;
+ private final Evaluator<String> search;
- public EndsWithEvaluator(final StringEvaluator subject, final StringEvaluator search) {
+ public EndsWithEvaluator(final Evaluator<String> subject, final Evaluator<String> search) {
this.subject = subject;
this.search = search;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/FindEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/FindEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/FindEvaluator.java
index b377c4a..2a3f1ae 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/FindEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/FindEvaluator.java
@@ -23,17 +23,16 @@ import org.apache.nifi.attribute.expression.language.evaluation.BooleanEvaluator
import org.apache.nifi.attribute.expression.language.evaluation.BooleanQueryResult;
import org.apache.nifi.attribute.expression.language.evaluation.Evaluator;
import org.apache.nifi.attribute.expression.language.evaluation.QueryResult;
-import org.apache.nifi.attribute.expression.language.evaluation.StringEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.literals.StringLiteralEvaluator;
public class FindEvaluator extends BooleanEvaluator {
- private final StringEvaluator subject;
- private final StringEvaluator search;
+ private final Evaluator<String> subject;
+ private final Evaluator<String> search;
private final Pattern compiledPattern;
- public FindEvaluator(final StringEvaluator subject, final StringEvaluator search) {
+ public FindEvaluator(final Evaluator<String> subject, final Evaluator<String> search) {
this.subject = subject;
this.search = search;
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/FormatEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/FormatEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/FormatEvaluator.java
index 132b9e7..717cbd5 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/FormatEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/FormatEvaluator.java
@@ -30,9 +30,9 @@ import org.apache.nifi.attribute.expression.language.evaluation.StringQueryResul
public class FormatEvaluator extends StringEvaluator {
private final DateEvaluator subject;
- private final StringEvaluator format;
+ private final Evaluator<String> format;
- public FormatEvaluator(final DateEvaluator subject, final StringEvaluator format) {
+ public FormatEvaluator(final DateEvaluator subject, final Evaluator<String> format) {
this.subject = subject;
this.format = format;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/GreaterThanEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/GreaterThanEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/GreaterThanEvaluator.java
index af1ee1d..8850225 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/GreaterThanEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/GreaterThanEvaluator.java
@@ -21,15 +21,14 @@ import java.util.Map;
import org.apache.nifi.attribute.expression.language.evaluation.BooleanEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.BooleanQueryResult;
import org.apache.nifi.attribute.expression.language.evaluation.Evaluator;
-import org.apache.nifi.attribute.expression.language.evaluation.NumberEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.QueryResult;
public class GreaterThanEvaluator extends BooleanEvaluator {
- private final NumberEvaluator subject;
- private final NumberEvaluator comparison;
+ private final Evaluator<Long> subject;
+ private final Evaluator<Long> comparison;
- public GreaterThanEvaluator(final NumberEvaluator subject, final NumberEvaluator comparison) {
+ public GreaterThanEvaluator(final Evaluator<Long> subject, final Evaluator<Long> comparison) {
this.subject = subject;
this.comparison = comparison;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/GreaterThanOrEqualEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/GreaterThanOrEqualEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/GreaterThanOrEqualEvaluator.java
index 1269fc0..ff71335 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/GreaterThanOrEqualEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/GreaterThanOrEqualEvaluator.java
@@ -21,15 +21,14 @@ import java.util.Map;
import org.apache.nifi.attribute.expression.language.evaluation.BooleanEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.BooleanQueryResult;
import org.apache.nifi.attribute.expression.language.evaluation.Evaluator;
-import org.apache.nifi.attribute.expression.language.evaluation.NumberEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.QueryResult;
public class GreaterThanOrEqualEvaluator extends BooleanEvaluator {
- private final NumberEvaluator subject;
- private final NumberEvaluator comparison;
+ private final Evaluator<Long> subject;
+ private final Evaluator<Long> comparison;
- public GreaterThanOrEqualEvaluator(final NumberEvaluator subject, final NumberEvaluator comparison) {
+ public GreaterThanOrEqualEvaluator(final Evaluator<Long> subject, final Evaluator<Long> comparison) {
this.subject = subject;
this.comparison = comparison;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/IndexOfEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/IndexOfEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/IndexOfEvaluator.java
index 80422cb..c4bc03e 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/IndexOfEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/IndexOfEvaluator.java
@@ -22,14 +22,13 @@ import org.apache.nifi.attribute.expression.language.evaluation.Evaluator;
import org.apache.nifi.attribute.expression.language.evaluation.NumberEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.NumberQueryResult;
import org.apache.nifi.attribute.expression.language.evaluation.QueryResult;
-import org.apache.nifi.attribute.expression.language.evaluation.StringEvaluator;
public class IndexOfEvaluator extends NumberEvaluator {
- private final StringEvaluator subject;
- private final StringEvaluator indexEvaluator;
+ private final Evaluator<String> subject;
+ private final Evaluator<String> indexEvaluator;
- public IndexOfEvaluator(final StringEvaluator subject, final StringEvaluator indexEvaluator) {
+ public IndexOfEvaluator(final Evaluator<String> subject, final Evaluator<String> indexEvaluator) {
this.subject = subject;
this.indexEvaluator = indexEvaluator;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LastIndexOfEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LastIndexOfEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LastIndexOfEvaluator.java
index 2b67093..3ebbee7 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LastIndexOfEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LastIndexOfEvaluator.java
@@ -22,14 +22,13 @@ import org.apache.nifi.attribute.expression.language.evaluation.Evaluator;
import org.apache.nifi.attribute.expression.language.evaluation.NumberEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.NumberQueryResult;
import org.apache.nifi.attribute.expression.language.evaluation.QueryResult;
-import org.apache.nifi.attribute.expression.language.evaluation.StringEvaluator;
public class LastIndexOfEvaluator extends NumberEvaluator {
- private final StringEvaluator subject;
- private final StringEvaluator indexEvaluator;
+ private final Evaluator<String> subject;
+ private final Evaluator<String> indexEvaluator;
- public LastIndexOfEvaluator(final StringEvaluator subject, final StringEvaluator indexEvaluator) {
+ public LastIndexOfEvaluator(final Evaluator<String> subject, final Evaluator<String> indexEvaluator) {
this.subject = subject;
this.indexEvaluator = indexEvaluator;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LengthEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LengthEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LengthEvaluator.java
index dec1f8f..46bc24c 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LengthEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LengthEvaluator.java
@@ -22,20 +22,19 @@ import org.apache.nifi.attribute.expression.language.evaluation.Evaluator;
import org.apache.nifi.attribute.expression.language.evaluation.NumberEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.NumberQueryResult;
import org.apache.nifi.attribute.expression.language.evaluation.QueryResult;
-import org.apache.nifi.attribute.expression.language.evaluation.StringEvaluator;
public class LengthEvaluator extends NumberEvaluator {
- private final StringEvaluator subject;
+ private final Evaluator<String> subject;
- public LengthEvaluator(final StringEvaluator subject) {
+ public LengthEvaluator(final Evaluator<String> subject) {
this.subject = subject;
}
@Override
public QueryResult<Long> evaluate(final Map<String, String> attributes) {
final String subjectValue = subject.evaluate(attributes).getValue();
- return new NumberQueryResult((long) ((subjectValue == null) ? 0 : subjectValue.length()));
+ return new NumberQueryResult((long) (subjectValue == null ? 0 : subjectValue.length()));
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LessThanEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LessThanEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LessThanEvaluator.java
index 4b1beac..e9bf231 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LessThanEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LessThanEvaluator.java
@@ -21,15 +21,14 @@ import java.util.Map;
import org.apache.nifi.attribute.expression.language.evaluation.BooleanEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.BooleanQueryResult;
import org.apache.nifi.attribute.expression.language.evaluation.Evaluator;
-import org.apache.nifi.attribute.expression.language.evaluation.NumberEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.QueryResult;
public class LessThanEvaluator extends BooleanEvaluator {
- private final NumberEvaluator subject;
- private final NumberEvaluator comparison;
+ private final Evaluator<Long> subject;
+ private final Evaluator<Long> comparison;
- public LessThanEvaluator(final NumberEvaluator subject, final NumberEvaluator comparison) {
+ public LessThanEvaluator(final Evaluator<Long> subject, final Evaluator<Long> comparison) {
this.subject = subject;
this.comparison = comparison;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LessThanOrEqualEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LessThanOrEqualEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LessThanOrEqualEvaluator.java
index a07e8be..5bf5ee5 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LessThanOrEqualEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/LessThanOrEqualEvaluator.java
@@ -21,15 +21,14 @@ import java.util.Map;
import org.apache.nifi.attribute.expression.language.evaluation.BooleanEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.BooleanQueryResult;
import org.apache.nifi.attribute.expression.language.evaluation.Evaluator;
-import org.apache.nifi.attribute.expression.language.evaluation.NumberEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.QueryResult;
public class LessThanOrEqualEvaluator extends BooleanEvaluator {
- private final NumberEvaluator subject;
- private final NumberEvaluator comparison;
+ private final Evaluator<Long> subject;
+ private final Evaluator<Long> comparison;
- public LessThanOrEqualEvaluator(final NumberEvaluator subject, final NumberEvaluator comparison) {
+ public LessThanOrEqualEvaluator(final Evaluator<Long> subject, final Evaluator<Long> comparison) {
this.subject = subject;
this.comparison = comparison;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/MatchesEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/MatchesEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/MatchesEvaluator.java
index 1bb86a5..6f017ea 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/MatchesEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/MatchesEvaluator.java
@@ -23,17 +23,16 @@ import org.apache.nifi.attribute.expression.language.evaluation.BooleanEvaluator
import org.apache.nifi.attribute.expression.language.evaluation.BooleanQueryResult;
import org.apache.nifi.attribute.expression.language.evaluation.Evaluator;
import org.apache.nifi.attribute.expression.language.evaluation.QueryResult;
-import org.apache.nifi.attribute.expression.language.evaluation.StringEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.literals.StringLiteralEvaluator;
public class MatchesEvaluator extends BooleanEvaluator {
- private final StringEvaluator subject;
- private final StringEvaluator search;
+ private final Evaluator<String> subject;
+ private final Evaluator<String> search;
private final Pattern compiledPattern;
- public MatchesEvaluator(final StringEvaluator subject, final StringEvaluator search) {
+ public MatchesEvaluator(final Evaluator<String> subject, final Evaluator<String> search) {
this.subject = subject;
this.search = search;
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/MinusEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/MinusEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/MinusEvaluator.java
index 0665979..0555187 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/MinusEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/MinusEvaluator.java
@@ -25,10 +25,10 @@ import org.apache.nifi.attribute.expression.language.evaluation.QueryResult;
public class MinusEvaluator extends NumberEvaluator {
- private final NumberEvaluator subject;
- private final NumberEvaluator minusValue;
+ private final Evaluator<Long> subject;
+ private final Evaluator<Long> minusValue;
- public MinusEvaluator(final NumberEvaluator subject, final NumberEvaluator minusValue) {
+ public MinusEvaluator(final Evaluator<Long> subject, final Evaluator<Long> minusValue) {
this.subject = subject;
this.minusValue = minusValue;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/ModEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/ModEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/ModEvaluator.java
index 6b7b838..cf2121c 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/ModEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/ModEvaluator.java
@@ -25,10 +25,10 @@ import org.apache.nifi.attribute.expression.language.evaluation.QueryResult;
public class ModEvaluator extends NumberEvaluator {
- private final NumberEvaluator subject;
- private final NumberEvaluator modValue;
+ private final Evaluator<Long> subject;
+ private final Evaluator<Long> modValue;
- public ModEvaluator(final NumberEvaluator subject, final NumberEvaluator modValue) {
+ public ModEvaluator(final Evaluator<Long> subject, final Evaluator<Long> modValue) {
this.subject = subject;
this.modValue = modValue;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/MultiplyEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/MultiplyEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/MultiplyEvaluator.java
index a3b03ed..4480c98 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/MultiplyEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/MultiplyEvaluator.java
@@ -25,10 +25,10 @@ import org.apache.nifi.attribute.expression.language.evaluation.QueryResult;
public class MultiplyEvaluator extends NumberEvaluator {
- private final NumberEvaluator subject;
- private final NumberEvaluator multiplyValue;
+ private final Evaluator<Long> subject;
+ private final Evaluator<Long> multiplyValue;
- public MultiplyEvaluator(final NumberEvaluator subject, final NumberEvaluator multiplyValue) {
+ public MultiplyEvaluator(final Evaluator<Long> subject, final Evaluator<Long> multiplyValue) {
this.subject = subject;
this.multiplyValue = multiplyValue;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/NotEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/NotEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/NotEvaluator.java
index 327e620..2a09e33 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/NotEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/NotEvaluator.java
@@ -25,9 +25,9 @@ import org.apache.nifi.attribute.expression.language.evaluation.QueryResult;
public class NotEvaluator extends BooleanEvaluator {
- private final BooleanEvaluator subjectEvaluator;
+ private final Evaluator<Boolean> subjectEvaluator;
- public NotEvaluator(final BooleanEvaluator subjectEvaluator) {
+ public NotEvaluator(final Evaluator<Boolean> subjectEvaluator) {
this.subjectEvaluator = subjectEvaluator;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/NumberToDateEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/NumberToDateEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/NumberToDateEvaluator.java
index 672d855..6867202 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/NumberToDateEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/NumberToDateEvaluator.java
@@ -22,14 +22,13 @@ import java.util.Map;
import org.apache.nifi.attribute.expression.language.evaluation.DateEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.DateQueryResult;
import org.apache.nifi.attribute.expression.language.evaluation.Evaluator;
-import org.apache.nifi.attribute.expression.language.evaluation.NumberEvaluator;
import org.apache.nifi.attribute.expression.language.evaluation.QueryResult;
public class NumberToDateEvaluator extends DateEvaluator {
- private final NumberEvaluator subject;
+ private final Evaluator<Long> subject;
- public NumberToDateEvaluator(final NumberEvaluator subject) {
+ public NumberToDateEvaluator(final Evaluator<Long> subject) {
this.subject = subject;
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c4c98fc4/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/OrEvaluator.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/OrEvaluator.java b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/OrEvaluator.java
index ab3a16c..719fa11 100644
--- a/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/OrEvaluator.java
+++ b/nifi/nifi-commons/nifi-expression-language/src/main/java/org/apache/nifi/attribute/expression/language/evaluation/functions/OrEvaluator.java
@@ -25,10 +25,10 @@ import org.apache.nifi.attribute.expression.language.evaluation.QueryResult;
public class OrEvaluator extends BooleanEvaluator {
- private final BooleanEvaluator subjectEvaluator;
- private final BooleanEvaluator rhsEvaluator;
+ private final Evaluator<Boolean> subjectEvaluator;
+ private final Evaluator<Boolean> rhsEvaluator;
- public OrEvaluator(final BooleanEvaluator subjectEvaluator, final BooleanEvaluator rhsEvaluator) {
+ public OrEvaluator(final Evaluator<Boolean> subjectEvaluator, final Evaluator<Boolean> rhsEvaluator) {
this.subjectEvaluator = subjectEvaluator;
this.rhsEvaluator = rhsEvaluator;
}