Repository: nifi
Updated Branches:
  refs/heads/master 0688363d8 -> ea41b41ed


NIFI-5145 Made MockPropertyValue.evaluateExpressionLanguage(FlowFile able to 
accommodate null flowfiles the way live NiFi does.

NIFI-5145 Fixed a mistake with evaluateAttributeExpressions found in a code 
review.

NIFI-5145 Removed a property descriptor from GetHBase that was a duplication of 
the one in VisibilityFetchSupport.

NIFI-5145 Added comments in the code that were requested in the review.

NIFI-5145 Fixed check style issue.

NIFI-5145 Fixed a few improperly scoped items in ListFileTransfer that impacted 
the FTP processor(s).

NIFI-5145 Changed which override gets called based on code review feedback.

NIFI-5145: Reverted changes to ListFileTransfer re ExpressionLanguageScope

NIFI-5145: Removed TODO from MockPropertyValue javadoc

Signed-off-by: Matthew Burgess <[email protected]>

This closes #2672


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/ea41b41e
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/ea41b41e
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/ea41b41e

Branch: refs/heads/master
Commit: ea41b41ede3cc9832cf0b95c3f51ca29fda67fc3
Parents: 0688363
Author: Mike Thomsen <[email protected]>
Authored: Thu May 3 06:28:45 2018 -0400
Committer: Matthew Burgess <[email protected]>
Committed: Wed May 16 13:50:27 2018 -0400

----------------------------------------------------------------------
 .../main/java/org/apache/nifi/util/MockPropertyValue.java   | 9 +++++++++
 .../src/main/java/org/apache/nifi/hbase/GetHBase.java       | 9 ---------
 .../nifi/processors/mongodb/AbstractMongoProcessor.java     | 3 +--
 .../java/org/apache/nifi/processors/mongodb/GetMongo.java   | 5 +++--
 .../java/org/apache/nifi/processors/mongodb/PutMongo.java   | 5 +++--
 5 files changed, 16 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/ea41b41e/nifi-mock/src/main/java/org/apache/nifi/util/MockPropertyValue.java
----------------------------------------------------------------------
diff --git 
a/nifi-mock/src/main/java/org/apache/nifi/util/MockPropertyValue.java 
b/nifi-mock/src/main/java/org/apache/nifi/util/MockPropertyValue.java
index 9b825d9..cdabc6b 100644
--- a/nifi-mock/src/main/java/org/apache/nifi/util/MockPropertyValue.java
+++ b/nifi-mock/src/main/java/org/apache/nifi/util/MockPropertyValue.java
@@ -202,6 +202,15 @@ public class MockPropertyValue implements PropertyValue {
 
     @Override
     public PropertyValue evaluateAttributeExpressions(final FlowFile flowFile) 
throws ProcessException {
+        /*
+         * The reason for this null check is that somewhere in the test API, 
it automatically assumes that a null FlowFile
+         * should be treated as though it were evaluated with the 
VARIABLE_REGISTRY scope instead of the flowfile scope. When NiFi
+         * is running, it doesn't care when it's evaluating EL against a null 
flowfile. However, the testing framework currently
+         * raises an error which makes it not mimick real world behavior.
+         */
+        if (flowFile == null) {
+            return evaluateAttributeExpressions();
+        }
         return evaluateAttributeExpressions(flowFile, null, null);
     }
 

http://git-wip-us.apache.org/repos/asf/nifi/blob/ea41b41e/nifi-nar-bundles/nifi-hbase-bundle/nifi-hbase-processors/src/main/java/org/apache/nifi/hbase/GetHBase.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-hbase-bundle/nifi-hbase-processors/src/main/java/org/apache/nifi/hbase/GetHBase.java
 
b/nifi-nar-bundles/nifi-hbase-bundle/nifi-hbase-processors/src/main/java/org/apache/nifi/hbase/GetHBase.java
index 582814e..59f325d 100644
--- 
a/nifi-nar-bundles/nifi-hbase-bundle/nifi-hbase-processors/src/main/java/org/apache/nifi/hbase/GetHBase.java
+++ 
b/nifi-nar-bundles/nifi-hbase-bundle/nifi-hbase-processors/src/main/java/org/apache/nifi/hbase/GetHBase.java
@@ -54,7 +54,6 @@ import org.apache.nifi.components.AllowableValue;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.components.ValidationContext;
 import org.apache.nifi.components.ValidationResult;
-import org.apache.nifi.components.Validator;
 import org.apache.nifi.components.state.Scope;
 import org.apache.nifi.components.state.StateManager;
 import org.apache.nifi.components.state.StateMap;
@@ -147,14 +146,6 @@ public class GetHBase extends AbstractProcessor implements 
VisibilityFetchSuppor
             .allowableValues(NONE, CURRENT_TIME)
             .defaultValue(NONE.getValue())
             .build();
-    static final PropertyDescriptor AUTHORIZATIONS = new 
PropertyDescriptor.Builder()
-            .name("hbase-fetch-row-authorizations")
-            .displayName("Authorizations")
-            .description("The list of authorizations to pass to the scanner. 
This will be ignored if cell visibility labels are not in use.")
-            .required(false)
-            
.expressionLanguageSupported(ExpressionLanguageScope.VARIABLE_REGISTRY)
-            .addValidator(Validator.VALID)
-            .build();
 
     static final Relationship REL_SUCCESS = new Relationship.Builder()
             .name("success")

http://git-wip-us.apache.org/repos/asf/nifi/blob/ea41b41e/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/AbstractMongoProcessor.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/AbstractMongoProcessor.java
 
b/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/AbstractMongoProcessor.java
index 5bef4a8..339bee7 100644
--- 
a/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/AbstractMongoProcessor.java
+++ 
b/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/AbstractMongoProcessor.java
@@ -267,8 +267,7 @@ public abstract class AbstractMongoProcessor extends 
AbstractProcessor {
 
     protected void writeBatch(String payload, FlowFile parent, ProcessContext 
context, ProcessSession session,
             Map<String, String> extraAttributes, Relationship rel) throws 
UnsupportedEncodingException {
-        String charset = parent != null ? 
context.getProperty(CHARSET).evaluateAttributeExpressions(parent).getValue()
-                : 
context.getProperty(CHARSET).evaluateAttributeExpressions().getValue();
+        String charset = 
context.getProperty(CHARSET).evaluateAttributeExpressions(parent).getValue();
 
         FlowFile flowFile = parent != null ? session.create(parent) : 
session.create();
         flowFile = session.importFrom(new 
ByteArrayInputStream(payload.getBytes(charset)), flowFile);

http://git-wip-us.apache.org/repos/asf/nifi/blob/ea41b41e/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/GetMongo.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/GetMongo.java
 
b/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/GetMongo.java
index fbd50b6..d7a4d0b 100644
--- 
a/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/GetMongo.java
+++ 
b/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/GetMongo.java
@@ -96,7 +96,7 @@ public class GetMongo extends AbstractMongoProcessor {
                 "the flowfile's body. If this field is left blank and a timer 
is enabled instead of an incoming connection, " +
                 "that will result in a full collection fetch using a \"{}\" 
query.")
         .required(false)
-        .expressionLanguageSupported(ExpressionLanguageScope.VARIABLE_REGISTRY)
+        
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
         .addValidator(DOCUMENT_VALIDATOR)
         .build();
 
@@ -346,6 +346,7 @@ public class GetMongo extends AbstractMongoProcessor {
                     }
                 } else {
                     while (cursor.hasNext()) {
+                        final FlowFile ffPtr = input;
                         flowFile = session.create();
                         flowFile = session.write(flowFile, out -> {
                             String json;
@@ -354,7 +355,7 @@ public class GetMongo extends AbstractMongoProcessor {
                             } else {
                                 json = cursor.next().toJson();
                             }
-                            
out.write(json.getBytes(context.getProperty(CHARSET).evaluateAttributeExpressions().getValue()));
+                            
out.write(json.getBytes(context.getProperty(CHARSET).evaluateAttributeExpressions(ffPtr).getValue()));
                         });
                         flowFile = session.putAllAttributes(flowFile, 
attributes);
 

http://git-wip-us.apache.org/repos/asf/nifi/blob/ea41b41e/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/PutMongo.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/PutMongo.java
 
b/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/PutMongo.java
index e52fd36..f9a0b2b 100644
--- 
a/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/PutMongo.java
+++ 
b/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/PutMongo.java
@@ -32,6 +32,7 @@ import org.apache.nifi.components.AllowableValue;
 import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.components.ValidationContext;
 import org.apache.nifi.components.ValidationResult;
+import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.flowfile.FlowFile;
 import org.apache.nifi.logging.ComponentLog;
 import org.apache.nifi.processor.ProcessContext;
@@ -92,7 +93,7 @@ public class PutMongo extends AbstractMongoProcessor {
                 + "otherwise it is ignored. Example: _id")
         .required(false)
         .addValidator(StandardValidators.NON_BLANK_VALIDATOR)
-        .expressionLanguageSupported(true)
+        
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
         .build();
     static final PropertyDescriptor UPDATE_QUERY = new 
PropertyDescriptor.Builder()
         .name("putmongo-update-query")
@@ -100,7 +101,7 @@ public class PutMongo extends AbstractMongoProcessor {
         .description("Specify a full MongoDB query to be used for the lookup 
query to do an update/upsert.")
         .required(false)
         .addValidator(StandardValidators.NON_BLANK_VALIDATOR)
-        .expressionLanguageSupported(true)
+        
.expressionLanguageSupported(ExpressionLanguageScope.FLOWFILE_ATTRIBUTES)
         .build();
 
     static final PropertyDescriptor UPDATE_MODE = new 
PropertyDescriptor.Builder()

Reply via email to