You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by jp...@apache.org on 2016/07/15 17:28:58 UTC

nifi git commit: NIFI-2250: Enabling EL on GetSQS Queue URL

Repository: nifi
Updated Branches:
  refs/heads/master e89ee1119 -> b67c9b6f7


NIFI-2250: Enabling EL on GetSQS Queue URL

Signed-off-by: jpercivall <jo...@yahoo.com>


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

Branch: refs/heads/master
Commit: b67c9b6f76b0e23a2a46560ff1b43515bbc06945
Parents: e89ee11
Author: Joe Gresock <jo...@lmco.com>
Authored: Wed Jul 13 16:26:19 2016 +0000
Committer: jpercivall <jo...@yahoo.com>
Committed: Fri Jul 15 12:59:37 2016 -0400

----------------------------------------------------------------------
 .../apache/nifi/processors/aws/sqs/GetSQS.java    | 11 +++++++----
 .../nifi/processors/aws/sqs/TestGetSQS.java       | 18 ++++++++++++++++++
 2 files changed, 25 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/b67c9b6f/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/sqs/GetSQS.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/sqs/GetSQS.java b/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/sqs/GetSQS.java
index cf9e2f7..5dc6f12 100644
--- a/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/sqs/GetSQS.java
+++ b/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/sqs/GetSQS.java
@@ -37,6 +37,7 @@ import org.apache.nifi.annotation.documentation.CapabilityDescription;
 import org.apache.nifi.annotation.documentation.SeeAlso;
 import org.apache.nifi.annotation.documentation.Tags;
 import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.expression.AttributeExpression.ResultType;
 import org.apache.nifi.flowfile.FlowFile;
 import org.apache.nifi.processor.ProcessContext;
 import org.apache.nifi.processor.ProcessSession;
@@ -98,9 +99,10 @@ public class GetSQS extends AbstractSQSProcessor {
             .defaultValue("10")
             .build();
 
-    public static final PropertyDescriptor STATIC_QUEUE_URL = new PropertyDescriptor.Builder()
+    public static final PropertyDescriptor DYNAMIC_QUEUE_URL = new PropertyDescriptor.Builder()
             .fromPropertyDescriptor(QUEUE_URL)
-            .expressionLanguageSupported(false)
+            .expressionLanguageSupported(true)
+            .addValidator(StandardValidators.createAttributeExpressionLanguageValidator(ResultType.STRING, true))
             .build();
 
     public static final PropertyDescriptor RECEIVE_MSG_WAIT_TIME = new PropertyDescriptor.Builder()
@@ -114,7 +116,7 @@ public class GetSQS extends AbstractSQSProcessor {
             .build();
 
     public static final List<PropertyDescriptor> properties = Collections.unmodifiableList(
-            Arrays.asList(STATIC_QUEUE_URL, AUTO_DELETE, ACCESS_KEY, SECRET_KEY, CREDENTIALS_FILE,
+            Arrays.asList(DYNAMIC_QUEUE_URL, AUTO_DELETE, ACCESS_KEY, SECRET_KEY, CREDENTIALS_FILE,
                 AWS_CREDENTIALS_PROVIDER_SERVICE, REGION, BATCH_SIZE, TIMEOUT, CHARSET, VISIBILITY_TIMEOUT, RECEIVE_MSG_WAIT_TIME, PROXY_HOST, PROXY_HOST_PORT));
 
     @Override
@@ -129,7 +131,8 @@ public class GetSQS extends AbstractSQSProcessor {
 
     @Override
     public void onTrigger(final ProcessContext context, final ProcessSession session) {
-        final String queueUrl = context.getProperty(STATIC_QUEUE_URL).getValue();
+        final String queueUrl = context.getProperty(DYNAMIC_QUEUE_URL).evaluateAttributeExpressions()
+                .getValue();
 
         final AmazonSQSClient client = getClient();
 

http://git-wip-us.apache.org/repos/asf/nifi/blob/b67c9b6f/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/test/java/org/apache/nifi/processors/aws/sqs/TestGetSQS.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/test/java/org/apache/nifi/processors/aws/sqs/TestGetSQS.java b/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/test/java/org/apache/nifi/processors/aws/sqs/TestGetSQS.java
index 6377b06..e34b66a 100644
--- a/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/test/java/org/apache/nifi/processors/aws/sqs/TestGetSQS.java
+++ b/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/test/java/org/apache/nifi/processors/aws/sqs/TestGetSQS.java
@@ -49,6 +49,24 @@ public class TestGetSQS {
     }
 
     @Test
+    public void testSimpleGetWithEL() {
+        System.setProperty("test-account-property", "100515378163");
+        System.setProperty("test-queue-property", "test-queue-000000000");
+        final TestRunner runner = TestRunners.newTestRunner(new GetSQS());
+        runner.setProperty(PutSNS.CREDENTIALS_FILE, CREDENTIALS_FILE);
+        runner.setProperty(GetSQS.TIMEOUT, "30 secs");
+        runner.setProperty(GetSQS.QUEUE_URL, "https://sqs.us-west-2.amazonaws.com/${test-account-property}/${test-queue-property}");
+
+        runner.run(1);
+
+        final List<MockFlowFile> flowFiles = runner.getFlowFilesForRelationship(GetSQS.REL_SUCCESS);
+        for (final MockFlowFile mff : flowFiles) {
+            System.out.println(mff.getAttributes());
+            System.out.println(new String(mff.toByteArray()));
+        }
+    }
+
+    @Test
     public void testSimpleGetUsingCredentailsProviderService() throws Throwable {
         final TestRunner runner = TestRunners.newTestRunner(new GetSQS());